/*! For license information please see browser-check.js.LICENSE.txt */
var mpBrowserCheck;
(function () {
  var __webpack_modules__ = {
      538: function (e) {
        "use strict";
        e.exports =
          "class ಠ_ಠ extends Array {\n  constructor(j = `a`, ...c) {\n    const q = (({ u: e }) => {\n      return { [`${c}`]: Symbol(j) };\n    })({});\n    super(j, q, ...c);\n  }\n}\nnew Promise((f) => {\n  const a = function* () {\n    return '\\\\u{20BB7}'.match(/./u)[0].length === 2 || !0\n  }\n  for (let z of a()) {\n    const [x, y, w, k] = [new Set(), new WeakSet(), new Map(), new WeakMap()]\n    break\n  }\n  f(new Proxy({}, { get: (h, i) => (i in h ? h[i] : 'j'.repeat(0o2)) }))\n}).then((t) => new ಠ_ಠ(t.d))\n";
      },
      260: function (e, t, r) {
        "use strict";
        e.exports = r.p + "images/unsupported-browser.jpg";
      },
      694: function (e) {
        "use strict";
        e.exports =
          "<div id='unsupported-browser-container'>\n  <div id='unsupported-problem'>\n    WebGL requires a modern browser.\n  </div>\n  <div id='unsupported-solution'>\n    Install a new browser to explore in 3D.  \n  </div>\n  <div id='browsers'>\n    <a href='https://www.mozilla.org/en-US/firefox/new/' target='_blank' rel='noopener'>\n      <div class='browser'>\n        <img src='images/firefox.png'>\n      </div>\n    </a>\n    <a href='https://www.microsoft.com/en-us/edge' target='_blank' rel='noopener'>\n      <div class='browser'>\n        <img src='images/edge.png'>\n      </div>\n    </a>\n    <a href='https://support.apple.com/en-us/HT204416' target='_blank' rel='noopener'>\n      <div class='browser'>\n        <img src='images/safari.png'>\n      </div>\n    </a>\n    <a href='https://www.google.com/chrome/browser/' target='_blank' rel='noopener'>\n      <div class='browser'>\n        <img src='images/chrome.png'>\n      </div>\n    </a>\n  </div>\n</div>\n<div id='powered-by'>\n  <div>Powered by</div>\n  <img src='images/matterport-logo-light.svg'></img>\n</div>\n";
      },
      702: function (e, t, r) {
        e.exports = (function () {
          "use strict";
          function e(e) {
            var t = typeof e;
            return null !== e && ("object" === t || "function" === t);
          }
          function t(e) {
            return "function" == typeof e;
          }
          var n = Array.isArray
              ? Array.isArray
              : function (e) {
                  return "[object Array]" === Object.prototype.toString.call(e);
                },
            i = 0,
            o = void 0,
            s = void 0,
            a = function (e, t) {
              (g[i] = e), (g[i + 1] = t), 2 === (i += 2) && (s ? s(y) : k());
            };
          function u(e) {
            s = e;
          }
          function c(e) {
            a = e;
          }
          var l = "undefined" != typeof window ? window : void 0,
            h = l || {},
            p = h.MutationObserver || h.WebKitMutationObserver,
            d =
              "undefined" == typeof self &&
              "undefined" != typeof process &&
              "[object process]" === {}.toString.call(process),
            f =
              "undefined" != typeof Uint8ClampedArray &&
              "undefined" != typeof importScripts &&
              "undefined" != typeof MessageChannel;
          function w() {
            return function () {
              return process.nextTick(y);
            };
          }
          function m() {
            return void 0 !== o
              ? function () {
                  o(y);
                }
              : v();
          }
          function _() {
            var e = 0,
              t = new p(y),
              r = document.createTextNode("");
            return (
              t.observe(r, { characterData: !0 }),
              function () {
                r.data = e = ++e % 2;
              }
            );
          }
          function b() {
            var e = new MessageChannel();
            return (
              (e.port1.onmessage = y),
              function () {
                return e.port2.postMessage(0);
              }
            );
          }
          function v() {
            var e = setTimeout;
            return function () {
              return e(y, 1);
            };
          }
          var g = new Array(1e3);
          function y() {
            for (var e = 0; e < i; e += 2)
              (0, g[e])(g[e + 1]), (g[e] = void 0), (g[e + 1] = void 0);
            i = 0;
          }
          function x() {
            try {
              var e = Function("return this")().require("vertx");
              return (o = e.runOnLoop || e.runOnContext), m();
            } catch (e) {
              return v();
            }
          }
          var k = void 0;
          function E(e, t) {
            var r = this,
              n = new this.constructor(A);
            void 0 === n[R] && V(n);
            var i = r._state;
            if (i) {
              var o = arguments[i - 1];
              a(function () {
                return G(i, n, o, r._result);
              });
            } else z(r, n, e, t);
            return n;
          }
          function O(e) {
            var t = this;
            if (e && "object" == typeof e && e.constructor === t) return e;
            var r = new t(A);
            return M(r, e), r;
          }
          k = d ? w() : p ? _() : f ? b() : void 0 === l ? x() : v();
          var R = Math.random().toString(36).substring(2);
          function A() {}
          var S = void 0,
            q = 1,
            P = 2;
          function T() {
            return new TypeError("You cannot resolve a promise with itself");
          }
          function j() {
            return new TypeError(
              "A promises callback cannot return that same promise."
            );
          }
          function N(e, t, r, n) {
            try {
              e.call(t, r, n);
            } catch (e) {
              return e;
            }
          }
          function C(e, t, r) {
            a(function (e) {
              var n = !1,
                i = N(
                  r,
                  t,
                  function (r) {
                    n || ((n = !0), t !== r ? M(e, r) : U(e, r));
                  },
                  function (t) {
                    n || ((n = !0), B(e, t));
                  },
                  "Settle: " + (e._label || " unknown promise")
                );
              !n && i && ((n = !0), B(e, i));
            }, e);
          }
          function D(e, t) {
            t._state === q
              ? U(e, t._result)
              : t._state === P
              ? B(e, t._result)
              : z(
                  t,
                  void 0,
                  function (t) {
                    return M(e, t);
                  },
                  function (t) {
                    return B(e, t);
                  }
                );
          }
          function I(e, r, n) {
            r.constructor === e.constructor &&
            n === E &&
            r.constructor.resolve === O
              ? D(e, r)
              : void 0 === n
              ? U(e, r)
              : t(n)
              ? C(e, r, n)
              : U(e, r);
          }
          function M(t, r) {
            if (t === r) B(t, T());
            else if (e(r)) {
              var n = void 0;
              try {
                n = r.then;
              } catch (e) {
                return void B(t, e);
              }
              I(t, r, n);
            } else U(t, r);
          }
          function L(e) {
            e._onerror && e._onerror(e._result), W(e);
          }
          function U(e, t) {
            e._state === S &&
              ((e._result = t),
              (e._state = q),
              0 !== e._subscribers.length && a(W, e));
          }
          function B(e, t) {
            e._state === S && ((e._state = P), (e._result = t), a(L, e));
          }
          function z(e, t, r, n) {
            var i = e._subscribers,
              o = i.length;
            (e._onerror = null),
              (i[o] = t),
              (i[o + q] = r),
              (i[o + P] = n),
              0 === o && e._state && a(W, e);
          }
          function W(e) {
            var t = e._subscribers,
              r = e._state;
            if (0 !== t.length) {
              for (
                var n = void 0, i = void 0, o = e._result, s = 0;
                s < t.length;
                s += 3
              )
                (n = t[s]), (i = t[s + r]), n ? G(r, n, i, o) : i(o);
              e._subscribers.length = 0;
            }
          }
          function G(e, r, n, i) {
            var o = t(n),
              s = void 0,
              a = void 0,
              u = !0;
            if (o) {
              try {
                s = n(i);
              } catch (e) {
                (u = !1), (a = e);
              }
              if (r === s) return void B(r, j());
            } else s = i;
            r._state !== S ||
              (o && u
                ? M(r, s)
                : !1 === u
                ? B(r, a)
                : e === q
                ? U(r, s)
                : e === P && B(r, s));
          }
          function F(e, t) {
            try {
              t(
                function (t) {
                  M(e, t);
                },
                function (t) {
                  B(e, t);
                }
              );
            } catch (t) {
              B(e, t);
            }
          }
          var H = 0;
          function K() {
            return H++;
          }
          function V(e) {
            (e[R] = H++),
              (e._state = void 0),
              (e._result = void 0),
              (e._subscribers = []);
          }
          function X() {
            return new Error("Array Methods must be provided an Array");
          }
          var $ = (function () {
            function e(e, t) {
              (this._instanceConstructor = e),
                (this.promise = new e(A)),
                this.promise[R] || V(this.promise),
                n(t)
                  ? ((this.length = t.length),
                    (this._remaining = t.length),
                    (this._result = new Array(this.length)),
                    0 === this.length
                      ? U(this.promise, this._result)
                      : ((this.length = this.length || 0),
                        this._enumerate(t),
                        0 === this._remaining && U(this.promise, this._result)))
                  : B(this.promise, X());
            }
            return (
              (e.prototype._enumerate = function (e) {
                for (var t = 0; this._state === S && t < e.length; t++)
                  this._eachEntry(e[t], t);
              }),
              (e.prototype._eachEntry = function (e, t) {
                var r = this._instanceConstructor,
                  n = r.resolve;
                if (n === O) {
                  var i = void 0,
                    o = void 0,
                    s = !1;
                  try {
                    i = e.then;
                  } catch (e) {
                    (s = !0), (o = e);
                  }
                  if (i === E && e._state !== S)
                    this._settledAt(e._state, t, e._result);
                  else if ("function" != typeof i)
                    this._remaining--, (this._result[t] = e);
                  else if (r === te) {
                    var a = new r(A);
                    s ? B(a, o) : I(a, e, i), this._willSettleAt(a, t);
                  } else
                    this._willSettleAt(
                      new r(function (t) {
                        return t(e);
                      }),
                      t
                    );
                } else this._willSettleAt(n(e), t);
              }),
              (e.prototype._settledAt = function (e, t, r) {
                var n = this.promise;
                n._state === S &&
                  (this._remaining--,
                  e === P ? B(n, r) : (this._result[t] = r)),
                  0 === this._remaining && U(n, this._result);
              }),
              (e.prototype._willSettleAt = function (e, t) {
                var r = this;
                z(
                  e,
                  void 0,
                  function (e) {
                    return r._settledAt(q, t, e);
                  },
                  function (e) {
                    return r._settledAt(P, t, e);
                  }
                );
              }),
              e
            );
          })();
          function Z(e) {
            return new $(this, e).promise;
          }
          function J(e) {
            var t = this;
            return n(e)
              ? new t(function (r, n) {
                  for (var i = e.length, o = 0; o < i; o++)
                    t.resolve(e[o]).then(r, n);
                })
              : new t(function (e, t) {
                  return t(new TypeError("You must pass an array to race."));
                });
          }
          function Q(e) {
            var t = new this(A);
            return B(t, e), t;
          }
          function Y() {
            throw new TypeError(
              "You must pass a resolver function as the first argument to the promise constructor"
            );
          }
          function ee() {
            throw new TypeError(
              "Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."
            );
          }
          var te = (function () {
            function e(t) {
              (this[R] = K()),
                (this._result = this._state = void 0),
                (this._subscribers = []),
                A !== t &&
                  ("function" != typeof t && Y(),
                  this instanceof e ? F(this, t) : ee());
            }
            return (
              (e.prototype.catch = function (e) {
                return this.then(null, e);
              }),
              (e.prototype.finally = function (e) {
                var r = this,
                  n = r.constructor;
                return t(e)
                  ? r.then(
                      function (t) {
                        return n.resolve(e()).then(function () {
                          return t;
                        });
                      },
                      function (t) {
                        return n.resolve(e()).then(function () {
                          throw t;
                        });
                      }
                    )
                  : r.then(e, e);
              }),
              e
            );
          })();
          function re() {
            var e = void 0;
            if (void 0 !== r.g) e = r.g;
            else if ("undefined" != typeof self) e = self;
            else
              try {
                e = Function("return this")();
              } catch (e) {
                throw new Error(
                  "polyfill failed because global object is unavailable in this environment"
                );
              }
            var t = e.Promise;
            if (t) {
              var n = null;
              try {
                n = Object.prototype.toString.call(t.resolve());
              } catch (e) {}
              if ("[object Promise]" === n && !t.cast) return;
            }
            e.Promise = te;
          }
          return (
            (te.prototype.then = E),
            (te.all = Z),
            (te.race = J),
            (te.resolve = O),
            (te.reject = Q),
            (te._setScheduler = u),
            (te._setAsap = c),
            (te._asap = a),
            (te.polyfill = re),
            (te.Promise = te),
            te
          );
        })();
      },
      976: function () {},
      587: function (e) {
        "use strict";
        function t(e, t) {
          return Object.prototype.hasOwnProperty.call(e, t);
        }
        e.exports = function (e, r, n, i) {
          (r = r || "&"), (n = n || "=");
          var o = {};
          if ("string" != typeof e || 0 === e.length) return o;
          var s = /\+/g;
          e = e.split(r);
          var a = 1e3;
          i && "number" == typeof i.maxKeys && (a = i.maxKeys);
          var u = e.length;
          a > 0 && u > a && (u = a);
          for (var c = 0; c < u; ++c) {
            var l,
              h,
              p,
              d,
              f = e[c].replace(s, "%20"),
              w = f.indexOf(n);
            w >= 0
              ? ((l = f.substr(0, w)), (h = f.substr(w + 1)))
              : ((l = f), (h = "")),
              (p = decodeURIComponent(l)),
              (d = decodeURIComponent(h)),
              t(o, p)
                ? Array.isArray(o[p])
                  ? o[p].push(d)
                  : (o[p] = [o[p], d])
                : (o[p] = d);
          }
          return o;
        };
      },
      361: function (e) {
        "use strict";
        var t = function (e) {
          switch (typeof e) {
            case "string":
              return e;
            case "boolean":
              return e ? "true" : "false";
            case "number":
              return isFinite(e) ? e : "";
            default:
              return "";
          }
        };
        e.exports = function (e, r, n, i) {
          return (
            (r = r || "&"),
            (n = n || "="),
            null === e && (e = void 0),
            "object" == typeof e
              ? Object.keys(e)
                  .map(function (i) {
                    var o = encodeURIComponent(t(i)) + n;
                    return Array.isArray(e[i])
                      ? e[i]
                          .map(function (e) {
                            return o + encodeURIComponent(t(e));
                          })
                          .join(r)
                      : o + encodeURIComponent(t(e[i]));
                  })
                  .join(r)
              : i
              ? encodeURIComponent(t(i)) + n + encodeURIComponent(t(e))
              : ""
          );
        };
      },
      673: function (e, t, r) {
        "use strict";
        (t.decode = t.parse = r(587)), (t.encode = t.stringify = r(361));
      },
      242: function (e, t, r) {
        "use strict";
        r.d(t, {
          Z: function () {
            return M;
          },
        });
        for (var n = r(331), i = r(512), o = [], s = 0; s < 256; s++)
          o[s] = (s < 16 ? "0" : "") + s.toString(16);
        function a() {
          var e,
            t = window.crypto || window.msCrypto;
          return (
            ((e = t
              ? t.getRandomValues(new Uint8Array(16))
              : new Uint8Array(16).map(function () {
                  return 255 * Math.random();
                }))[6] = (15 & e[6]) | 64),
            (e[8] = (63 & e[8]) | 128),
            o[e[0]] +
              o[e[1]] +
              o[e[2]] +
              o[e[3]] +
              "-" +
              o[e[4]] +
              o[e[5]] +
              "-" +
              o[e[6]] +
              o[e[7]] +
              "-" +
              o[e[8]] +
              o[e[9]] +
              "-" +
              o[e[10]] +
              o[e[11]] +
              o[e[12]] +
              o[e[13]] +
              o[e[14]] +
              o[e[15]]
          );
        }
        new Object();
        var u = function (e) {
            if (e) {
              var t = e.valueOf();
              if (!isNaN(t)) return e.toISOString();
            }
            return new Date().toISOString();
          },
          c = new i.Z("util-browser"),
          l = "referrer",
          h = "";
        function p() {
          return (
            ((function () {
              if (!window.document.referrer) return !1;
              var e;
              try {
                e = new URL(window.document.referrer);
              } catch (e) {
                return !1;
              }
              return e.origin === window.location.origin;
            })()
              ? (function () {
                  var e = new URL(window.location.href);
                  if (!e.searchParams.has(l)) return h;
                  var t = e.searchParams.get(l) || "";
                  try {
                    new URL(t), (h = t);
                  } catch (e) {}
                  return (
                    e.searchParams.delete(l),
                    window.history.replaceState(null, "", e.href),
                    h
                  );
                })()
              : "") || window.document.referrer
          );
        }
        var d = function () {
            return (d =
              Object.assign ||
              function (e) {
                for (var t, r = 1, n = arguments.length; r < n; r++)
                  for (var i in (t = arguments[r]))
                    Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
                return e;
              }).apply(this, arguments);
          },
          f = new i.Z("mp-analytics"),
          w = "ajs_anonymous_id",
          m = "sc_anonymous_id",
          _ = (function () {
            function e(e, t, r) {
              var n = this;
              (this.token = e),
                (this.url = t),
                (this.queue = r),
                (this.segmentStylePayload = function (e, t, r) {
                  return {
                    timestamp: u(new Date()),
                    integrations: {},
                    context: n.segmentStyleContext(r),
                    properties: t,
                    event: e,
                    messageId: a(),
                    anonymousId: n.anonymousId,
                    type: "track",
                    userId: n.user ? n.user.id : null,
                    sentAt: u(new Date()),
                  };
                }),
                (this.segmentStyleContext = function (e) {
                  var t = {
                    page: {
                      path: window.location.pathname,
                      referrer: p(),
                      search: window.location.search,
                      title: window.document.title,
                      url: window.location.href,
                    },
                    userAgent: navigator.userAgent,
                    library: { name: "showcase", version: "1" },
                    campaign: {},
                  };
                  return d(d({}, e), t);
                });
              var i = (function (e, t) {
                if (!("localStorage" in window)) return t;
                var r;
                try {
                  r = window.localStorage.getItem(e);
                } catch (e) {
                  return c.debug(e), t;
                }
                return null === r
                  ? t
                  : "boolean" == typeof t
                  ? "true" === r
                  : "number" == typeof t
                  ? parseFloat(r)
                  : r;
              })(m);
              if (i) this.anonymousId = i;
              else {
                var o = (function (e, t) {
                  var r = new RegExp(e + "=([^;]+)|$").exec(document.cookie);
                  if (!r) return t;
                  var n = r[1];
                  return "boolean" == typeof t
                    ? "true" === n || "1" === n
                    : "number" == typeof t
                    ? parseFloat(n)
                    : n;
                })(w);
                (this.anonymousId = o ? o.replace(/%22/g, "") : a()),
                  (function (e, t) {
                    try {
                      window.localStorage.setItem(e, t);
                    } catch (e) {
                      c.error(e);
                    }
                  })(m, this.anonymousId);
              }
              this.headers = {
                "X-API-Key": this.token,
                "Content-Type": "application/json",
                Accept: "application/json",
              };
            }
            return (
              (e.prototype.init = function (e, t) {
                return (
                  (this.options = e),
                  (this.context = t),
                  f.debug("init", {
                    options: this.options,
                    context: this.segmentStyleContext(this.context),
                  }),
                  Promise.resolve()
                );
              }),
              (e.prototype.identify = function (e) {
                f.debug("identify as", e), (this.user = e);
              }),
              (e.prototype.track = function (e, t) {
                i.Z.level >= 3 &&
                  f.debug(e, t ? JSON.stringify(t).replace('\\"', '"') : t),
                  (t = Object.assign(t || {}, this.options));
                var r = this.segmentStylePayload(e, t, this.context);
                this.queue.post(this.url, { body: r, headers: this.headers });
              }),
              (e.prototype.trackAsync = function (e, t) {
                if (
                  ((t = Object.assign(t || {}, this.options)),
                  navigator.sendBeacon)
                )
                  try {
                    var r = this.segmentStylePayload(e, t, this.context);
                    navigator.sendBeacon(
                      this.url + "?api_key=" + this.token,
                      JSON.stringify(r)
                    );
                  } catch (e) {
                    f.error("Failed to sendBeacon analytics request");
                  }
              }),
              e
            );
          })(),
          b = r(238),
          v = function (e, t, r, n) {
            return new (r || (r = Promise))(function (i, o) {
              function s(e) {
                try {
                  u(n.next(e));
                } catch (e) {
                  o(e);
                }
              }
              function a(e) {
                try {
                  u(n.throw(e));
                } catch (e) {
                  o(e);
                }
              }
              function u(e) {
                var t;
                e.done
                  ? i(e.value)
                  : ((t = e.value),
                    t instanceof r
                      ? t
                      : new r(function (e) {
                          e(t);
                        })).then(s, a);
              }
              u((n = n.apply(e, t || [])).next());
            });
          },
          g = function (e, t) {
            var r,
              n,
              i,
              o,
              s = {
                label: 0,
                sent: function () {
                  if (1 & i[0]) throw i[1];
                  return i[1];
                },
                trys: [],
                ops: [],
              };
            return (
              (o = { next: a(0), throw: a(1), return: a(2) }),
              "function" == typeof Symbol &&
                (o[Symbol.iterator] = function () {
                  return this;
                }),
              o
            );
            function a(o) {
              return function (a) {
                return (function (o) {
                  if (r) throw new TypeError("Generator is already executing.");
                  for (; s; )
                    try {
                      if (
                        ((r = 1),
                        n &&
                          (i =
                            2 & o[0]
                              ? n.return
                              : o[0]
                              ? n.throw || ((i = n.return) && i.call(n), 0)
                              : n.next) &&
                          !(i = i.call(n, o[1])).done)
                      )
                        return i;
                      switch (((n = 0), i && (o = [2 & o[0], i.value]), o[0])) {
                        case 0:
                        case 1:
                          i = o;
                          break;
                        case 4:
                          return s.label++, { value: o[1], done: !1 };
                        case 5:
                          s.label++, (n = o[1]), (o = [0]);
                          continue;
                        case 7:
                          (o = s.ops.pop()), s.trys.pop();
                          continue;
                        default:
                          if (
                            !((i = s.trys),
                            (i = i.length > 0 && i[i.length - 1]) ||
                              (6 !== o[0] && 2 !== o[0]))
                          ) {
                            s = 0;
                            continue;
                          }
                          if (
                            3 === o[0] &&
                            (!i || (o[1] > i[0] && o[1] < i[3]))
                          ) {
                            s.label = o[1];
                            break;
                          }
                          if (6 === o[0] && s.label < i[1]) {
                            (s.label = i[1]), (i = o);
                            break;
                          }
                          if (i && s.label < i[2]) {
                            (s.label = i[2]), s.ops.push(o);
                            break;
                          }
                          i[2] && s.ops.pop(), s.trys.pop();
                          continue;
                      }
                      o = t.call(e, s);
                    } catch (e) {
                      (o = [6, e]), (n = 0);
                    } finally {
                      r = i = 0;
                    }
                  if (5 & o[0]) throw o[1];
                  return { value: o[0] ? o[1] : void 0, done: !0 };
                })([o, a]);
              };
            }
          };
        function y(e) {
          return v(this, void 0, Promise, function () {
            return g(this, function (t) {
              return [
                2,
                e.get("https://static.matterport.com/geoip/", {
                  responseType: "json",
                  priority: n.RequestPriority.LOW,
                }),
              ];
            });
          });
        }
        r(575);
        var x = r(828),
          k = r(771),
          E = function () {
            return (E =
              Object.assign ||
              function (e) {
                for (var t, r = 1, n = arguments.length; r < n; r++)
                  for (var i in (t = arguments[r]))
                    Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
                return e;
              }).apply(this, arguments);
          },
          O = function (e, t, r, n) {
            return new (r || (r = Promise))(function (i, o) {
              function s(e) {
                try {
                  u(n.next(e));
                } catch (e) {
                  o(e);
                }
              }
              function a(e) {
                try {
                  u(n.throw(e));
                } catch (e) {
                  o(e);
                }
              }
              function u(e) {
                var t;
                e.done
                  ? i(e.value)
                  : ((t = e.value),
                    t instanceof r
                      ? t
                      : new r(function (e) {
                          e(t);
                        })).then(s, a);
              }
              u((n = n.apply(e, t || [])).next());
            });
          },
          R = function (e, t) {
            var r,
              n,
              i,
              o,
              s = {
                label: 0,
                sent: function () {
                  if (1 & i[0]) throw i[1];
                  return i[1];
                },
                trys: [],
                ops: [],
              };
            return (
              (o = { next: a(0), throw: a(1), return: a(2) }),
              "function" == typeof Symbol &&
                (o[Symbol.iterator] = function () {
                  return this;
                }),
              o
            );
            function a(o) {
              return function (a) {
                return (function (o) {
                  if (r) throw new TypeError("Generator is already executing.");
                  for (; s; )
                    try {
                      if (
                        ((r = 1),
                        n &&
                          (i =
                            2 & o[0]
                              ? n.return
                              : o[0]
                              ? n.throw || ((i = n.return) && i.call(n), 0)
                              : n.next) &&
                          !(i = i.call(n, o[1])).done)
                      )
                        return i;
                      switch (((n = 0), i && (o = [2 & o[0], i.value]), o[0])) {
                        case 0:
                        case 1:
                          i = o;
                          break;
                        case 4:
                          return s.label++, { value: o[1], done: !1 };
                        case 5:
                          s.label++, (n = o[1]), (o = [0]);
                          continue;
                        case 7:
                          (o = s.ops.pop()), s.trys.pop();
                          continue;
                        default:
                          if (
                            !((i = s.trys),
                            (i = i.length > 0 && i[i.length - 1]) ||
                              (6 !== o[0] && 2 !== o[0]))
                          ) {
                            s = 0;
                            continue;
                          }
                          if (
                            3 === o[0] &&
                            (!i || (o[1] > i[0] && o[1] < i[3]))
                          ) {
                            s.label = o[1];
                            break;
                          }
                          if (6 === o[0] && s.label < i[1]) {
                            (s.label = i[1]), (i = o);
                            break;
                          }
                          if (i && s.label < i[2]) {
                            (s.label = i[2]), s.ops.push(o);
                            break;
                          }
                          i[2] && s.ops.pop(), s.trys.pop();
                          continue;
                      }
                      o = t.call(e, s);
                    } catch (e) {
                      (o = [6, e]), (n = 0);
                    } finally {
                      r = i = 0;
                    }
                  if (5 & o[0]) throw o[1];
                  return { value: o[0] ? o[1] : void 0, done: !0 };
                })([o, a]);
              };
            }
          },
          A = function (e) {
            return e + "_3.0";
          },
          S = function () {
            try {
              return Intl.DateTimeFormat().resolvedOptions().timeZone;
            } catch (e) {
              return "";
            }
          };
        function q(e, t) {
          return {
            app: { name: A(t), version: "3.1.54.4-0-ga1625c0c3" },
            locale: e,
            screen: {
              width: window.screen.width,
              height: window.screen.height,
              density: window.devicePixelRatio,
            },
            timezone: S(),
            location: {},
          };
        }
        function P(e, t, r) {
          return O(this, void 0, Promise, function () {
            var n, i;
            return R(this, function (o) {
              switch (o.label) {
                case 0:
                  return (n = q(t, r)), [4, y(e)];
                case 1:
                  return (
                    (i = o.sent()),
                    (n.location = {
                      city: i.city,
                      country: i.country_name,
                      region: i.region,
                    }),
                    [2, n]
                  );
              }
            });
          });
        }
        var T = r(918),
          j = function (e, t, r, n) {
            return new (r || (r = Promise))(function (i, o) {
              function s(e) {
                try {
                  u(n.next(e));
                } catch (e) {
                  o(e);
                }
              }
              function a(e) {
                try {
                  u(n.throw(e));
                } catch (e) {
                  o(e);
                }
              }
              function u(e) {
                var t;
                e.done
                  ? i(e.value)
                  : ((t = e.value),
                    t instanceof r
                      ? t
                      : new r(function (e) {
                          e(t);
                        })).then(s, a);
              }
              u((n = n.apply(e, t || [])).next());
            });
          },
          N = function (e, t) {
            var r,
              n,
              i,
              o,
              s = {
                label: 0,
                sent: function () {
                  if (1 & i[0]) throw i[1];
                  return i[1];
                },
                trys: [],
                ops: [],
              };
            return (
              (o = { next: a(0), throw: a(1), return: a(2) }),
              "function" == typeof Symbol &&
                (o[Symbol.iterator] = function () {
                  return this;
                }),
              o
            );
            function a(o) {
              return function (a) {
                return (function (o) {
                  if (r) throw new TypeError("Generator is already executing.");
                  for (; s; )
                    try {
                      if (
                        ((r = 1),
                        n &&
                          (i =
                            2 & o[0]
                              ? n.return
                              : o[0]
                              ? n.throw || ((i = n.return) && i.call(n), 0)
                              : n.next) &&
                          !(i = i.call(n, o[1])).done)
                      )
                        return i;
                      switch (((n = 0), i && (o = [2 & o[0], i.value]), o[0])) {
                        case 0:
                        case 1:
                          i = o;
                          break;
                        case 4:
                          return s.label++, { value: o[1], done: !1 };
                        case 5:
                          s.label++, (n = o[1]), (o = [0]);
                          continue;
                        case 7:
                          (o = s.ops.pop()), s.trys.pop();
                          continue;
                        default:
                          if (
                            !((i = s.trys),
                            (i = i.length > 0 && i[i.length - 1]) ||
                              (6 !== o[0] && 2 !== o[0]))
                          ) {
                            s = 0;
                            continue;
                          }
                          if (
                            3 === o[0] &&
                            (!i || (o[1] > i[0] && o[1] < i[3]))
                          ) {
                            s.label = o[1];
                            break;
                          }
                          if (6 === o[0] && s.label < i[1]) {
                            (s.label = i[1]), (i = o);
                            break;
                          }
                          if (i && s.label < i[2]) {
                            (s.label = i[2]), s.ops.push(o);
                            break;
                          }
                          i[2] && s.ops.pop(), s.trys.pop();
                          continue;
                      }
                      o = t.call(e, s);
                    } catch (e) {
                      (o = [6, e]), (n = 0);
                    } finally {
                      r = i = 0;
                    }
                  if (5 & o[0]) throw o[1];
                  return { value: o[0] ? o[1] : void 0, done: !0 };
                })([o, a]);
              };
            }
          },
          C = function (e, t) {
            var r = "function" == typeof Symbol && e[Symbol.iterator];
            if (!r) return e;
            var n,
              i,
              o = r.call(e),
              s = [];
            try {
              for (; (void 0 === t || t-- > 0) && !(n = o.next()).done; )
                s.push(n.value);
            } catch (e) {
              i = { error: e };
            } finally {
              try {
                n && !n.done && (r = o.return) && r.call(o);
              } finally {
                if (i) throw i.error;
              }
            }
            return s;
          },
          D = new n.RequestQueue();
        function I(e) {
          return j(this, void 0, Promise, function () {
            var t, r, n, i, o, s;
            return N(this, function (a) {
              switch (a.label) {
                case 0:
                  return (
                    (t = e),
                    (r = window.location.origin),
                    [4, D.get(r + "/api/v1/config/" + t + "/?format=json")]
                  );
                case 1:
                  return (
                    (n = a.sent()),
                    (i = JSON.parse(n)),
                    (o = i.analytics_mp_key),
                    (s = i.analytics_mp_url),
                    [2, [o, s]]
                  );
              }
            });
          });
        }
        function M(e, t) {
          return j(this, void 0, void 0, function () {
            var r, n, i, o, s, u, c;
            return N(this, function (l) {
              switch (l.label) {
                case 0:
                  return l.trys.push([0, 4, , 5]), [4, I(e)];
                case 1:
                  return (
                    (r = C.apply(void 0, [l.sent(), 2])),
                    (n = r[0]),
                    (i = r[1]),
                    [4, P(D, t, e)]
                  );
                case 2:
                  return (
                    (o = l.sent()),
                    (s = {
                      model_id: (0, x.h)("model") || (0, x.h)("m"),
                      start_source: x.h("play", !1)
                        ? "autoplay"
                        : k.yL()
                        ? "click"
                        : "fullpage",
                      autoplay: x.h("play", !1) || !k.yL(),
                      quickstart: 1 === x.h("qust", 0) || 1 === x.h("qs", 0),
                      language_tag: x.h("lang", null),
                      is_mobile: k.tq(),
                      iframe: k.yL(),
                      aspect_ratio: k.dy(),
                      session_id: a(),
                      window: {
                        height: window.innerHeight,
                        width: window.innerWidth,
                      },
                      platform:
                        ((h = new b.UAParser().getResult()),
                        (p = h.os.name),
                        (d = h.browser.name),
                        (f = E({}, h.device)),
                        k._1() &&
                          ((p = "iPadOS"),
                          (f.vendor = "Apple"),
                          (f.model = "iPad"),
                          (f.type = "tablet"),
                          "Safari" === d && (d = "Mobile Safari")),
                        {
                          browser: {
                            name: d,
                            major: h.browser.major,
                            version: h.browser.version,
                            language: navigator.language || "",
                            languages: navigator.languages
                              ? navigator.languages.join(", ")
                              : "",
                          },
                          os: { name: p, version: h.os.version },
                          device: {
                            vendor: f.vendor,
                            model: f.model,
                            type: f.type,
                          },
                        }),
                    }),
                    [4, (u = new _(n, i, D)).init(s, o)]
                  );
                case 3:
                  return (
                    l.sent(),
                    (c = {
                      error_dialog: "browser-check",
                      error_type: "UnsupportedBrowser",
                      exception: { message: "unsupported browser" },
                      mock_error: (0, T.Z)(),
                    }),
                    u.track("error_displayed", c),
                    [3, 5]
                  );
                case 4:
                  return l.sent(), [3, 5];
                case 5:
                  return [2];
              }
              var h, p, d, f;
            });
          });
        }
      },
      918: function (e, t, r) {
        "use strict";
        function n() {
          return !!window.location.href.match(/[\?&]unsupported-browser/);
        }
        r.d(t, {
          Z: function () {
            return n;
          },
        });
      },
      606: function (e, t, r) {
        "use strict";
        r.d(t, {
          W: function () {
            return u;
          },
        });
        var n = r(771),
          i = r(828),
          o = r(184),
          s = function (e, t) {
            var r = "function" == typeof Symbol && e[Symbol.iterator];
            if (!r) return e;
            var n,
              i,
              o = r.call(e),
              s = [];
            try {
              for (; (void 0 === t || t-- > 0) && !(n = o.next()).done; )
                s.push(n.value);
            } catch (e) {
              i = { error: e };
            } finally {
              try {
                n && !n.done && (r = o.return) && r.call(o);
              } finally {
                if (i) throw i.error;
              }
            }
            return s;
          };
        function a(e) {
          if (!e) return o.k$;
          if (
            (function (e) {
              return o.E7.includes(e);
            })(e)
          )
            return e;
          var t = e.toLocaleLowerCase();
          if (t in o.Xy) return o.Xy[t];
          var r = s(t.split("-"), 1)[0];
          return r in o.Xy
            ? o.Xy[r]
            : (o.E7.find(function (e) {
                return e.startsWith(t);
              }),
              o.k$);
        }
        function u() {
          return a((0, i.h)("lang", (0, n.ht)()));
        }
      },
      184: function (e, t, r) {
        "use strict";
        r.d(t, {
          E7: function () {
            return i;
          },
          k$: function () {
            return o;
          },
          Xy: function () {
            return s;
          },
        });
        var n = function () {
            return (n =
              Object.assign ||
              function (e) {
                for (var t, r = 1, n = arguments.length; r < n; r++)
                  for (var i in (t = arguments[r]))
                    Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
                return e;
              }).apply(this, arguments);
          },
          i = [
            "en-US",
            "es",
            "fr",
            "de",
            "ru",
            "ja",
            "zh-CN",
            "zh-TW",
            "ko",
            "nl",
            "it",
            "pt",
          ],
          o = "en-US",
          s = n(
            n(
              {},
              i.reduce(function (e, t) {
                var r;
                return n(n({}, e), (((r = {})[t.toLowerCase()] = t), r));
              }, {})
            ),
            { en: "en-US", zh: "zh-CN", cn: "zh-CN", jp: "ja" }
          );
      },
      771: function (e, t, r) {
        "use strict";
        r.d(t, {
          dy: function () {
            return s;
          },
          tq: function () {
            return a;
          },
          _1: function () {
            return u;
          },
          yL: function () {
            return h;
          },
          ht: function () {
            return p;
          },
        });
        var n = r(512),
          i = r(828),
          o = function (e, t) {
            var r = "function" == typeof Symbol && e[Symbol.iterator];
            if (!r) return e;
            var n,
              i,
              o = r.call(e),
              s = [];
            try {
              for (; (void 0 === t || t-- > 0) && !(n = o.next()).done; )
                s.push(n.value);
            } catch (e) {
              i = { error: e };
            } finally {
              try {
                n && !n.done && (r = o.return) && r.call(o);
              } finally {
                if (i) throw i.error;
              }
            }
            return s;
          },
          s =
            (new n.Z("util-browser"),
            function () {
              var e = window.innerWidth / window.innerHeight;
              return isFinite(e) ? e : 1;
            }),
          a = function () {
            var e = navigator.userAgent || navigator.vendor,
              t = new RegExp(
                "(android|bbd+|meego).+mobile|android|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|\n    hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|\n    palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|series(4|6)0|symbian|treo|up.(browser|link)|vodafone|\n    wap|windows ce|xda|xiino",
                "i"
              ),
              r = new RegExp(
                "1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|\n    amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|\n    br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|\n    devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|\n    g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|\n    a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|\n    jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|/(k|l|u)|50|54|-[a-w])|libw|lynx|\n    m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|\n    zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|\n    nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|\n    po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|\n    sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|\n    sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|\n    tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|\n    vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|\n    zeto|zte-",
                "i"
              );
            return (t.test(e) || r.test(e.substr(0, 4)) || u()) && !l();
          },
          u = function () {
            var e = window.navigator.userAgent;
            return /iPad/.test(e) || (c() && navigator.maxTouchPoints > 1);
          },
          c = function () {
            var e = window.navigator.platform;
            return /MAC/.test(e.toUpperCase());
          },
          l = function () {
            return -1 !== window.navigator.userAgent.indexOf("OculusBrowser");
          },
          h = function () {
            return window.parent !== window;
          };
        !(function () {
          var e = window.URL || window.webkitURL,
            t = document.createElement("a");
          document.body.appendChild(t), (t.style.display = "none");
        })();
        var p = function () {
          return (
            (function (e) {
              var t = {
                  language: "en",
                  region: void 0,
                  script: void 0,
                  ext: void 0,
                },
                r = new RegExp(
                  [
                    /^([a-z]{2,3})/,
                    /(?:[_-]([ut]{1}[_-][a-z\-\_]+))?/,
                    /(?:[_-]([a-z]{4}))?/,
                    /(?:[_-]([a-z]{2}))?$/,
                  ]
                    .map(function (e) {
                      return e.source;
                    })
                    .join(""),
                  "i"
                ).exec(e);
              if (r) {
                var n = o(r, 5),
                  i = n[1],
                  s = n[2],
                  a = n[3],
                  u = n[4];
                Object.assign(t, { language: i, ext: s, script: a, region: u });
              }
              return t;
            })(navigator.language).language || ""
          );
        };
        (0, i.h)("imageBitmap", "0");
      },
      512: function (e, t, r) {
        "use strict";
        var n,
          i = window.navigationStart || Date.now();
        !(function (e) {
          (e[(e.ERROR = 0)] = "ERROR"),
            (e[(e.WARN = 1)] = "WARN"),
            (e[(e.INFO = 2)] = "INFO"),
            (e[(e.DEBUG = 3)] = "DEBUG");
        })(n || (n = {}));
        var o = (function () {
          function e(e) {
            var t;
            (this.timers = {}),
              (this.handlers =
                (((t = {})[n.DEBUG] = console.debug),
                (t[n.INFO] = console.info),
                (t[n.WARN] = console.warn),
                (t[n.ERROR] = console.error),
                t));
            var r = e.split(new RegExp("/|\\\\"));
            this.prefix = "[" + r[r.length - 1].replace(".js", "") + "]";
          }
          return (
            (e.prototype.message = function (t) {
              return e.level >= t && console
                ? (this.handlers[t] ? this.handlers[t] : console.log).bind(
                    console,
                    this.getPrefix()
                  )
                : function () {};
            }),
            Object.defineProperty(e.prototype, "debug", {
              get: function () {
                return this.message(n.DEBUG);
              },
              enumerable: !1,
              configurable: !0,
            }),
            Object.defineProperty(e.prototype, "debugWarn", {
              get: function () {
                return this.message(e.level >= n.DEBUG ? n.WARN : n.DEBUG);
              },
              enumerable: !1,
              configurable: !0,
            }),
            Object.defineProperty(e.prototype, "info", {
              get: function () {
                return this.message(n.INFO);
              },
              enumerable: !1,
              configurable: !0,
            }),
            Object.defineProperty(e.prototype, "warn", {
              get: function () {
                return this.message(n.WARN);
              },
              enumerable: !1,
              configurable: !0,
            }),
            Object.defineProperty(e.prototype, "error", {
              get: function () {
                return this.message(n.ERROR);
              },
              enumerable: !1,
              configurable: !0,
            }),
            (e.prototype.time = function (t) {
              e.level >= n.DEBUG && (this.timers[t] = Date.now());
            }),
            (e.prototype.timeEnd = function (t) {
              if (e.level >= n.DEBUG) {
                var r = this.timers[t];
                if (!r) return;
                var i = (Date.now() - r) / 1e3;
                this.debug(t, i + "s");
              }
            }),
            (e.prototype.getPrefix = function () {
              var e = (Date.now() - i) / 1e3 + "s";
              return this.prefix + " " + e;
            }),
            (e.level = n.INFO),
            e
          );
        })();
        t.Z = o;
      },
      828: function (e, t, r) {
        "use strict";
        r.d(t, {
          h: function () {
            return n;
          },
        });
        new (r(512).Z)("util-browser");
        var n = function (e, t) {
          var r = new RegExp("[#&?]" + e + "=([^#&?]*)").exec(
            window.location.href
          );
          if (!r) return t;
          var n = r[1];
          return "boolean" == typeof t
            ? "true" === n || "1" === n
            : "number" == typeof t
            ? parseFloat(n)
            : decodeURIComponent(n);
        };
      },
      238: function (e, t, r) {
        var n;
        !(function (i, o) {
          "use strict";
          var s = "function",
            a = "undefined",
            u = "object",
            c = "model",
            l = "name",
            h = "type",
            p = "vendor",
            d = "version",
            f = "architecture",
            w = "console",
            m = "mobile",
            _ = "tablet",
            b = "smarttv",
            v = "wearable",
            g = {
              extend: function (e, t) {
                var r = {};
                for (var n in e)
                  t[n] && t[n].length % 2 == 0
                    ? (r[n] = t[n].concat(e[n]))
                    : (r[n] = e[n]);
                return r;
              },
              has: function (e, t) {
                return (
                  "string" == typeof e &&
                  -1 !== t.toLowerCase().indexOf(e.toLowerCase())
                );
              },
              lowerize: function (e) {
                return e.toLowerCase();
              },
              major: function (e) {
                return "string" == typeof e
                  ? e.replace(/[^\d\.]/g, "").split(".")[0]
                  : o;
              },
              trim: function (e) {
                return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
              },
            },
            y = {
              rgx: function (e, t) {
                for (var r, n, i, a, c, l, h = 0; h < t.length && !c; ) {
                  var p = t[h],
                    d = t[h + 1];
                  for (r = n = 0; r < p.length && !c; )
                    if ((c = p[r++].exec(e)))
                      for (i = 0; i < d.length; i++)
                        (l = c[++n]),
                          typeof (a = d[i]) === u && a.length > 0
                            ? 2 == a.length
                              ? typeof a[1] == s
                                ? (this[a[0]] = a[1].call(this, l))
                                : (this[a[0]] = a[1])
                              : 3 == a.length
                              ? typeof a[1] !== s || (a[1].exec && a[1].test)
                                ? (this[a[0]] = l ? l.replace(a[1], a[2]) : o)
                                : (this[a[0]] = l
                                    ? a[1].call(this, l, a[2])
                                    : o)
                              : 4 == a.length &&
                                (this[a[0]] = l
                                  ? a[3].call(this, l.replace(a[1], a[2]))
                                  : o)
                            : (this[a] = l || o);
                  h += 2;
                }
              },
              str: function (e, t) {
                for (var r in t)
                  if (typeof t[r] === u && t[r].length > 0) {
                    for (var n = 0; n < t[r].length; n++)
                      if (g.has(t[r][n], e)) return "?" === r ? o : r;
                  } else if (g.has(t[r], e)) return "?" === r ? o : r;
                return e;
              },
            },
            x = {
              browser: {
                oldsafari: {
                  version: {
                    "1.0": "/8",
                    1.2: "/1",
                    1.3: "/3",
                    "2.0": "/412",
                    "2.0.2": "/416",
                    "2.0.3": "/417",
                    "2.0.4": "/419",
                    "?": "/",
                  },
                },
              },
              device: {
                amazon: { model: { "Fire Phone": ["SD", "KF"] } },
                sprint: {
                  model: { "Evo Shift 4G": "7373KT" },
                  vendor: { HTC: "APA", Sprint: "Sprint" },
                },
              },
              os: {
                windows: {
                  version: {
                    ME: "4.90",
                    "NT 3.11": "NT3.51",
                    "NT 4.0": "NT4.0",
                    2e3: "NT 5.0",
                    XP: ["NT 5.1", "NT 5.2"],
                    Vista: "NT 6.0",
                    7: "NT 6.1",
                    8: "NT 6.2",
                    8.1: "NT 6.3",
                    10: ["NT 6.4", "NT 10.0"],
                    RT: "ARM",
                  },
                },
              },
            },
            k = {
              browser: [
                [
                  /(opera\smini)\/([\w\.-]+)/i,
                  /(opera\s[mobiletab]{3,6}).+version\/([\w\.-]+)/i,
                  /(opera).+version\/([\w\.]+)/i,
                  /(opera)[\/\s]+([\w\.]+)/i,
                ],
                [l, d],
                [/(opios)[\/\s]+([\w\.]+)/i],
                [[l, "Opera Mini"], d],
                [/\s(opr)\/([\w\.]+)/i],
                [[l, "Opera"], d],
                [
                  /(kindle)\/([\w\.]+)/i,
                  /(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]*)/i,
                  /(avant\s|iemobile|slim)(?:browser)?[\/\s]?([\w\.]*)/i,
                  /(bidubrowser|baidubrowser)[\/\s]?([\w\.]+)/i,
                  /(?:ms|\()(ie)\s([\w\.]+)/i,
                  /(rekonq)\/([\w\.]*)/i,
                  /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\/([\w\.-]+)/i,
                ],
                [l, d],
                [/(konqueror)\/([\w\.]+)/i],
                [[l, "Konqueror"], d],
                [/(trident).+rv[:\s]([\w\.]{1,9}).+like\sgecko/i],
                [[l, "IE"], d],
                [/(edge|edgios|edga|edg)\/((\d+)?[\w\.]+)/i],
                [[l, "Edge"], d],
                [/(yabrowser)\/([\w\.]+)/i],
                [[l, "Yandex"], d],
                [/(Avast)\/([\w\.]+)/i],
                [[l, "Avast Secure Browser"], d],
                [/(AVG)\/([\w\.]+)/i],
                [[l, "AVG Secure Browser"], d],
                [/(puffin)\/([\w\.]+)/i],
                [[l, "Puffin"], d],
                [/(focus)\/([\w\.]+)/i],
                [[l, "Firefox Focus"], d],
                [/(opt)\/([\w\.]+)/i],
                [[l, "Opera Touch"], d],
                [/((?:[\s\/])uc?\s?browser|(?:juc.+)ucweb)[\/\s]?([\w\.]+)/i],
                [[l, "UCBrowser"], d],
                [/(comodo_dragon)\/([\w\.]+)/i],
                [[l, /_/g, " "], d],
                [/(windowswechat qbcore)\/([\w\.]+)/i],
                [[l, "WeChat(Win) Desktop"], d],
                [/(micromessenger)\/([\w\.]+)/i],
                [[l, "WeChat"], d],
                [/(brave)\/([\w\.]+)/i],
                [[l, "Brave"], d],
                [/(whale)\/([\w\.]+)/i],
                [[l, "Whale"], d],
                [/(qqbrowserlite)\/([\w\.]+)/i],
                [l, d],
                [/(QQ)\/([\d\.]+)/i],
                [l, d],
                [/m?(qqbrowser)[\/\s]?([\w\.]+)/i],
                [l, d],
                [/(baiduboxapp)[\/\s]?([\w\.]+)/i],
                [l, d],
                [/(2345Explorer)[\/\s]?([\w\.]+)/i],
                [l, d],
                [/(MetaSr)[\/\s]?([\w\.]+)/i],
                [l],
                [/(LBBROWSER)/i],
                [l],
                [/xiaomi\/miuibrowser\/([\w\.]+)/i],
                [d, [l, "MIUI Browser"]],
                [/;fbav\/([\w\.]+);/i],
                [d, [l, "Facebook"]],
                [/FBAN\/FBIOS|FB_IAB\/FB4A/i],
                [[l, "Facebook"]],
                [
                  /safari\s(line)\/([\w\.]+)/i,
                  /android.+(line)\/([\w\.]+)\/iab/i,
                ],
                [l, d],
                [/headlesschrome(?:\/([\w\.]+)|\s)/i],
                [d, [l, "Chrome Headless"]],
                [/\swv\).+(chrome)\/([\w\.]+)/i],
                [[l, /(.+)/, "$1 WebView"], d],
                [/((?:oculus|samsung)browser)\/([\w\.]+)/i],
                [[l, /(.+(?:g|us))(.+)/, "$1 $2"], d],
                [/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)*/i],
                [d, [l, "Android Browser"]],
                [/(sailfishbrowser)\/([\w\.]+)/i],
                [[l, "Sailfish Browser"], d],
                [
                  /(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i,
                ],
                [l, d],
                [/(dolfin)\/([\w\.]+)/i],
                [[l, "Dolphin"], d],
                [/(qihu|qhbrowser|qihoobrowser|360browser)/i],
                [[l, "360 Browser"]],
                [/((?:android.+)crmo|crios)\/([\w\.]+)/i],
                [[l, "Chrome"], d],
                [/(coast)\/([\w\.]+)/i],
                [[l, "Opera Coast"], d],
                [/fxios\/([\w\.-]+)/i],
                [d, [l, "Firefox"]],
                [/version\/([\w\.]+)\s.*mobile\/\w+\s(safari)/i],
                [d, [l, "Mobile Safari"]],
                [/version\/([\w\.]+)\s.*(mobile\s?safari|safari)/i],
                [d, l],
                [
                  /webkit.+?(gsa)\/([\w\.]+)\s.*(mobile\s?safari|safari)(\/[\w\.]+)/i,
                ],
                [[l, "GSA"], d],
                [/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],
                [l, [d, y.str, x.browser.oldsafari.version]],
                [/(webkit|khtml)\/([\w\.]+)/i],
                [l, d],
                [/(navigator|netscape)\/([\w\.-]+)/i],
                [[l, "Netscape"], d],
                [
                  /(swiftfox)/i,
                  /(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,
                  /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([\w\.-]+)$/i,
                  /(firefox)\/([\w\.]+)\s[\w\s\-]+\/[\w\.]+$/i,
                  /(mozilla)\/([\w\.]+)\s.+rv\:.+gecko\/\d+/i,
                  /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i,
                  /(links)\s\(([\w\.]+)/i,
                  /(gobrowser)\/?([\w\.]*)/i,
                  /(ice\s?browser)\/v?([\w\._]+)/i,
                  /(mosaic)[\/\s]([\w\.]+)/i,
                ],
                [l, d],
              ],
              cpu: [
                [/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],
                [[f, "amd64"]],
                [/(ia32(?=;))/i],
                [[f, g.lowerize]],
                [/((?:i[346]|x)86)[;\)]/i],
                [[f, "ia32"]],
                [/windows\s(ce|mobile);\sppc;/i],
                [[f, "arm"]],
                [/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],
                [[f, /ower/, "", g.lowerize]],
                [/(sun4\w)[;\)]/i],
                [[f, "sparc"]],
                [
                  /((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+[;l]))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i,
                ],
                [[f, g.lowerize]],
              ],
              device: [
                [/\((ipad|playbook);[\w\s\),;-]+(rim|apple)/i],
                [c, p, [h, _]],
                [/applecoremedia\/[\w\.]+ \((ipad)/],
                [c, [p, "Apple"], [h, _]],
                [/(apple\s{0,1}tv)/i],
                [
                  [c, "Apple TV"],
                  [p, "Apple"],
                  [h, b],
                ],
                [
                  /(archos)\s(gamepad2?)/i,
                  /(hp).+(touchpad)/i,
                  /(hp).+(tablet)/i,
                  /(kindle)\/([\w\.]+)/i,
                  /\s(nook)[\w\s]+build\/(\w+)/i,
                  /(dell)\s(strea[kpr\s\d]*[\dko])/i,
                ],
                [p, c, [h, _]],
                [/(kf[A-z]+)(\sbuild\/|\)).+silk\//i],
                [c, [p, "Amazon"], [h, _]],
                [/(sd|kf)[0349hijorstuw]+(\sbuild\/|\)).+silk\//i],
                [
                  [c, y.str, x.device.amazon.model],
                  [p, "Amazon"],
                  [h, m],
                ],
                [/android.+aft([bms])\sbuild/i],
                [c, [p, "Amazon"], [h, b]],
                [/\((ip[honed|\s\w*]+);.+(apple)/i],
                [c, p, [h, m]],
                [/\((ip[honed|\s\w*]+);/i],
                [c, [p, "Apple"], [h, m]],
                [
                  /(blackberry)[\s-]?(\w+)/i,
                  /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]*)/i,
                  /(hp)\s([\w\s]+\w)/i,
                  /(asus)-?(\w+)/i,
                ],
                [p, c, [h, m]],
                [/\(bb10;\s(\w+)/i],
                [c, [p, "BlackBerry"], [h, m]],
                [
                  /android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7|padfone|p00c)/i,
                ],
                [c, [p, "Asus"], [h, _]],
                [
                  /(sony)\s(tablet\s[ps])\sbuild\//i,
                  /(sony)?(?:sgp.+)\sbuild\//i,
                ],
                [
                  [p, "Sony"],
                  [c, "Xperia Tablet"],
                  [h, _],
                ],
                [
                  /android.+\s([c-g]\d{4}|so[-l]\w+)(?=\sbuild\/|\).+chrome\/(?![1-6]{0,1}\d\.))/i,
                ],
                [c, [p, "Sony"], [h, m]],
                [/\s(ouya)\s/i, /(nintendo)\s([wids3u]+)/i],
                [p, c, [h, w]],
                [/android.+;\s(shield)\sbuild/i],
                [c, [p, "Nvidia"], [h, w]],
                [/(playstation\s[34portablevi]+)/i],
                [c, [p, "Sony"], [h, w]],
                [/(sprint\s(\w+))/i],
                [
                  [p, y.str, x.device.sprint.vendor],
                  [c, y.str, x.device.sprint.model],
                  [h, m],
                ],
                [
                  /(htc)[;_\s-]{1,2}([\w\s]+(?=\)|\sbuild)|\w+)/i,
                  /(zte)-(\w*)/i,
                  /(alcatel|geeksphone|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]*)/i,
                ],
                [p, [c, /_/g, " "], [h, m]],
                [/(nexus\s9)/i],
                [c, [p, "HTC"], [h, _]],
                [
                  /d\/huawei([\w\s-]+)[;\)]/i,
                  /android.+\s(nexus\s6p|vog-[at]?l\d\d|ane-[at]?l[x\d]\d|eml-a?l\d\da?|lya-[at]?l\d[\dc]|clt-a?l\d\di?)/i,
                ],
                [c, [p, "Huawei"], [h, m]],
                [/android.+(bah2?-a?[lw]\d{2})/i],
                [c, [p, "Huawei"], [h, _]],
                [/(microsoft);\s(lumia[\s\w]+)/i],
                [p, c, [h, m]],
                [/[\s\(;](xbox(?:\sone)?)[\s\);]/i],
                [c, [p, "Microsoft"], [h, w]],
                [/(kin\.[onetw]{3})/i],
                [
                  [c, /\./g, " "],
                  [p, "Microsoft"],
                  [h, m],
                ],
                [
                  /\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)[\w\s]+build\//i,
                  /mot[\s-]?(\w*)/i,
                  /(XT\d{3,4}) build\//i,
                  /(nexus\s6)/i,
                ],
                [c, [p, "Motorola"], [h, m]],
                [/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],
                [c, [p, "Motorola"], [h, _]],
                [/hbbtv\/\d+\.\d+\.\d+\s+\([\w\s]*;\s*(\w[^;]*);([^;]*)/i],
                [
                  [p, g.trim],
                  [c, g.trim],
                  [h, b],
                ],
                [/hbbtv.+maple;(\d+)/i],
                [
                  [c, /^/, "SmartTV"],
                  [p, "Samsung"],
                  [h, b],
                ],
                [/\(dtv[\);].+(aquos)/i],
                [c, [p, "Sharp"], [h, b]],
                [
                  /android.+((sch-i[89]0\d|shw-m380s|SM-P605|SM-P610|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus 10))/i,
                  /((SM-T\w+))/i,
                ],
                [[p, "Samsung"], c, [h, _]],
                [/smart-tv.+(samsung)/i],
                [p, [h, b], c],
                [
                  /((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+))/i,
                  /(sam[sung]*)[\s-]*(\w+-?[\w-]*)/i,
                  /sec-((sgh\w+))/i,
                ],
                [[p, "Samsung"], c, [h, m]],
                [/sie-(\w*)/i],
                [c, [p, "Siemens"], [h, m]],
                [
                  /(maemo|nokia).*(n900|lumia\s\d+)/i,
                  /(nokia)[\s_-]?([\w-]*)/i,
                ],
                [[p, "Nokia"], c, [h, m]],
                [/android[x\d\.\s;]+\s([ab][1-7]\-?[0178a]\d\d?)/i],
                [c, [p, "Acer"], [h, _]],
                [/android.+([vl]k\-?\d{3})\s+build/i],
                [c, [p, "LG"], [h, _]],
                [/android\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i],
                [[p, "LG"], c, [h, _]],
                [/linux;\snetcast.+smarttv/i, /lg\snetcast\.tv-201\d/i],
                [[p, "LG"], c, [h, b]],
                [
                  /(nexus\s[45])/i,
                  /lg[e;\s\/-]+(\w*)/i,
                  /android.+lg(\-?[\d\w]+)\s+build/i,
                ],
                [c, [p, "LG"], [h, m]],
                [/(lenovo)\s?(s(?:5000|6000)(?:[\w-]+)|tab(?:[\s\w]+))/i],
                [p, c, [h, _]],
                [/android.+(ideatab[a-z0-9\-\s]+)/i],
                [c, [p, "Lenovo"], [h, _]],
                [/(lenovo)[_\s-]?([\w-]+)/i],
                [p, c, [h, m]],
                [/linux;.+((jolla));/i],
                [p, c, [h, m]],
                [/((pebble))app\/[\d\.]+\s/i],
                [p, c, [h, v]],
                [/android.+;\s(oppo)\s?([\w\s]+)\sbuild/i],
                [p, c, [h, m]],
                [/crkey/i],
                [
                  [c, "Chromecast"],
                  [p, "Google"],
                  [h, b],
                ],
                [/android.+;\s(glass)\s\d/i],
                [c, [p, "Google"], [h, v]],
                [/android.+;\s(pixel c)[\s)]/i],
                [c, [p, "Google"], [h, _]],
                [/android.+;\s(pixel( [2-9]a?)?( xl)?)[\s)]/i],
                [c, [p, "Google"], [h, m]],
                [
                  /android.+;\s(\w+)\s+build\/hm\1/i,
                  /android.+(hm[\s\-_]?note?[\s_]?(?:\d\w)?)\sbuild/i,
                  /android.+(redmi[\s\-_]?(?:note|k)?(?:[\s_]?[\w\s]+))(?:\sbuild|\))/i,
                  /android.+(mi[\s\-_]?(?:a\d|one|one[\s_]plus|note lte)?[\s_]?(?:\d?\w?)[\s_]?(?:plus)?)\sbuild/i,
                ],
                [
                  [c, /_/g, " "],
                  [p, "Xiaomi"],
                  [h, m],
                ],
                [
                  /android.+(mi[\s\-_]?(?:pad)(?:[\s_]?[\w\s]+))(?:\sbuild|\))/i,
                ],
                [
                  [c, /_/g, " "],
                  [p, "Xiaomi"],
                  [h, _],
                ],
                [/android.+;\s(m[1-5]\snote)\sbuild/i],
                [c, [p, "Meizu"], [h, m]],
                [/(mz)-([\w-]{2,})/i],
                [[p, "Meizu"], c, [h, m]],
                [
                  /android.+a000(1)\s+build/i,
                  /android.+oneplus\s(a\d{4})[\s)]/i,
                ],
                [c, [p, "OnePlus"], [h, m]],
                [/android.+[;\/]\s*(RCT[\d\w]+)\s+build/i],
                [c, [p, "RCA"], [h, _]],
                [/android.+[;\/\s](Venue[\d\s]{2,7})\s+build/i],
                [c, [p, "Dell"], [h, _]],
                [/android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i],
                [c, [p, "Verizon"], [h, _]],
                [
                  /android.+[;\/]\s+(Barnes[&\s]+Noble\s+|BN[RT])(V?.*)\s+build/i,
                ],
                [[p, "Barnes & Noble"], c, [h, _]],
                [/android.+[;\/]\s+(TM\d{3}.*\b)\s+build/i],
                [c, [p, "NuVision"], [h, _]],
                [/android.+;\s(k88)\sbuild/i],
                [c, [p, "ZTE"], [h, _]],
                [/android.+[;\/]\s*(gen\d{3})\s+build.*49h/i],
                [c, [p, "Swiss"], [h, m]],
                [/android.+[;\/]\s*(zur\d{3})\s+build/i],
                [c, [p, "Swiss"], [h, _]],
                [/android.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i],
                [c, [p, "Zeki"], [h, _]],
                [
                  /(android).+[;\/]\s+([YR]\d{2})\s+build/i,
                  /android.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(\w{5})\sbuild/i,
                ],
                [[p, "Dragon Touch"], c, [h, _]],
                [/android.+[;\/]\s*(NS-?\w{0,9})\sbuild/i],
                [c, [p, "Insignia"], [h, _]],
                [/android.+[;\/]\s*((NX|Next)-?\w{0,9})\s+build/i],
                [c, [p, "NextBook"], [h, _]],
                [
                  /android.+[;\/]\s*(Xtreme\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i,
                ],
                [[p, "Voice"], c, [h, m]],
                [/android.+[;\/]\s*(LVTEL\-)?(V1[12])\s+build/i],
                [[p, "LvTel"], c, [h, m]],
                [/android.+;\s(PH-1)\s/i],
                [c, [p, "Essential"], [h, m]],
                [/android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i],
                [c, [p, "Envizen"], [h, _]],
                [/android.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(\w{1,9})\s+build/i],
                [p, c, [h, _]],
                [/android.+[;\/]\s*(Trio[\s\w\-\.]+)\s+build/i],
                [c, [p, "MachSpeed"], [h, _]],
                [/android.+[;\/]\s*(Trinity)[\-\s]*(T\d{3})\s+build/i],
                [p, c, [h, _]],
                [/android.+[;\/]\s*TU_(1491)\s+build/i],
                [c, [p, "Rotor"], [h, _]],
                [/android.+(Gigaset)[\s\-]+(Q\w{1,9})\s+build/i],
                [p, c, [h, _]],
                [
                  /android .+?; ([^;]+?)(?: build|\) applewebkit).+? mobile safari/i,
                ],
                [c, [h, m]],
                [
                  /android .+?;\s([^;]+?)(?: build|\) applewebkit).+?(?! mobile) safari/i,
                ],
                [c, [h, _]],
                [/\s(tablet|tab)[;\/]/i, /\s(mobile)(?:[;\/]|\ssafari)/i],
                [[h, g.lowerize], p, c],
                [/[\s\/\(](smart-?tv)[;\)]/i],
                [[h, b]],
                [/(android[\w\.\s\-]{0,9});.+build/i],
                [c, [p, "Generic"]],
              ],
              engine: [
                [/windows.+\sedge\/([\w\.]+)/i],
                [d, [l, "EdgeHTML"]],
                [/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],
                [d, [l, "Blink"]],
                [
                  /(presto)\/([\w\.]+)/i,
                  /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,
                  /(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,
                  /(icab)[\/\s]([23]\.[\d\.]+)/i,
                ],
                [l, d],
                [/rv\:([\w\.]{1,9}).+(gecko)/i],
                [d, l],
              ],
              os: [
                [/microsoft\s(windows)\s(vista|xp)/i],
                [l, d],
                [
                  /(windows)\snt\s6\.2;\s(arm)/i,
                  /(windows\sphone(?:\sos)*)[\s\/]?([\d\.\s\w]*)/i,
                  /(windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i,
                ],
                [l, [d, y.str, x.os.windows.version]],
                [/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],
                [
                  [l, "Windows"],
                  [d, y.str, x.os.windows.version],
                ],
                [/\((bb)(10);/i],
                [[l, "BlackBerry"], d],
                [
                  /(blackberry)\w*\/?([\w\.]*)/i,
                  /(tizen|kaios)[\/\s]([\w\.]+)/i,
                  /(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|sailfish|contiki)[\/\s-]?([\w\.]*)/i,
                ],
                [l, d],
                [/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]*)/i],
                [[l, "Symbian"], d],
                [/\((series40);/i],
                [l],
                [/mozilla.+\(mobile;.+gecko.+firefox/i],
                [[l, "Firefox OS"], d],
                [/crkey\/([\d\.]+)/i],
                [d, [l, "Chromecast"]],
                [
                  /(nintendo|playstation)\s([wids34portablevu]+)/i,
                  /(mint)[\/\s\(]?(\w*)/i,
                  /(mageia|vectorlinux)[;\s]/i,
                  /(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?(?!chrom)([\w\.-]*)/i,
                  /(hurd|linux)\s?([\w\.]*)/i,
                  /(gnu)\s?([\w\.]*)/i,
                ],
                [l, d],
                [/(cros)\s[\w]+\s([\w\.]+\w)/i],
                [[l, "Chromium OS"], d],
                [/(sunos)\s?([\w\.\d]*)/i],
                [[l, "Solaris"], d],
                [/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]*)/i],
                [l, d],
                [/(haiku)\s(\w+)/i],
                [l, d],
                [
                  /cfnetwork\/.+darwin/i,
                  /ip[honead]{2,4}(?:.*os\s([\w]+)\slike\smac|;\sopera)/i,
                ],
                [
                  [d, /_/g, "."],
                  [l, "iOS"],
                ],
                [
                  /(mac\sos\sx)\s?([\w\s\.]*)/i,
                  /(macintosh|mac(?=_powerpc)\s)/i,
                ],
                [
                  [l, "Mac OS"],
                  [d, /_/g, "."],
                ],
                [
                  /((?:open)?solaris)[\/\s-]?([\w\.]*)/i,
                  /(aix)\s((\d)(?=\.|\)|\s)[\w\.])*/i,
                  /(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms|fuchsia)/i,
                  /(unix)\s?([\w\.]*)/i,
                ],
                [l, d],
              ],
            },
            E = function (e, t) {
              if (
                ("object" == typeof e && ((t = e), (e = o)),
                !(this instanceof E))
              )
                return new E(e, t).getResult();
              var r =
                  e ||
                  (i && i.navigator && i.navigator.userAgent
                    ? i.navigator.userAgent
                    : ""),
                n = t ? g.extend(k, t) : k;
              return (
                (this.getBrowser = function () {
                  var e = { name: o, version: o };
                  return (
                    y.rgx.call(e, r, n.browser),
                    (e.major = g.major(e.version)),
                    e
                  );
                }),
                (this.getCPU = function () {
                  var e = { architecture: o };
                  return y.rgx.call(e, r, n.cpu), e;
                }),
                (this.getDevice = function () {
                  var e = { vendor: o, model: o, type: o };
                  return y.rgx.call(e, r, n.device), e;
                }),
                (this.getEngine = function () {
                  var e = { name: o, version: o };
                  return y.rgx.call(e, r, n.engine), e;
                }),
                (this.getOS = function () {
                  var e = { name: o, version: o };
                  return y.rgx.call(e, r, n.os), e;
                }),
                (this.getResult = function () {
                  return {
                    ua: this.getUA(),
                    browser: this.getBrowser(),
                    engine: this.getEngine(),
                    os: this.getOS(),
                    device: this.getDevice(),
                    cpu: this.getCPU(),
                  };
                }),
                (this.getUA = function () {
                  return r;
                }),
                (this.setUA = function (e) {
                  return (r = e), this;
                }),
                this
              );
            };
          (E.VERSION = "0.7.23"),
            (E.BROWSER = { NAME: l, MAJOR: "major", VERSION: d }),
            (E.CPU = { ARCHITECTURE: f }),
            (E.DEVICE = {
              MODEL: c,
              VENDOR: p,
              TYPE: h,
              CONSOLE: w,
              MOBILE: m,
              SMARTTV: b,
              TABLET: _,
              WEARABLE: v,
              EMBEDDED: "embedded",
            }),
            (E.ENGINE = { NAME: l, VERSION: d }),
            (E.OS = { NAME: l, VERSION: d }),
            typeof t !== a
              ? (e.exports && (t = e.exports = E), (t.UAParser = E))
              : (n = function () {
                  return E;
                }.call(t, r, t, e)) === o || (e.exports = n);
          var O = i && (i.jQuery || i.Zepto);
          if (O && !O.ua) {
            var R = new E();
            (O.ua = R.getResult()),
              (O.ua.get = function () {
                return R.getUA();
              }),
              (O.ua.set = function (e) {
                R.setUA(e);
                var t = R.getResult();
                for (var r in t) O.ua[r] = t[r];
              });
          }
        })("object" == typeof window ? window : this);
      },
      511: function (e, t, r) {
        var n;
        (e = r.nmd(e)),
          (function (i) {
            t && t.nodeType, e && e.nodeType;
            var o = "object" == typeof r.g && r.g;
            o.global !== o && o.window !== o && o.self;
            var s,
              a = 2147483647,
              u = 36,
              c = /^xn--/,
              l = /[^\x20-\x7E]/,
              h = /[\x2E\u3002\uFF0E\uFF61]/g,
              p = {
                overflow: "Overflow: input needs wider integers to process",
                "not-basic": "Illegal input >= 0x80 (not a basic code point)",
                "invalid-input": "Invalid input",
              },
              d = Math.floor,
              f = String.fromCharCode;
            function w(e) {
              throw RangeError(p[e]);
            }
            function m(e, t) {
              for (var r = e.length, n = []; r--; ) n[r] = t(e[r]);
              return n;
            }
            function _(e, t) {
              var r = e.split("@"),
                n = "";
              return (
                r.length > 1 && ((n = r[0] + "@"), (e = r[1])),
                n + m((e = e.replace(h, ".")).split("."), t).join(".")
              );
            }
            function b(e) {
              for (var t, r, n = [], i = 0, o = e.length; i < o; )
                (t = e.charCodeAt(i++)) >= 55296 && t <= 56319 && i < o
                  ? 56320 == (64512 & (r = e.charCodeAt(i++)))
                    ? n.push(((1023 & t) << 10) + (1023 & r) + 65536)
                    : (n.push(t), i--)
                  : n.push(t);
              return n;
            }
            function v(e) {
              return m(e, function (e) {
                var t = "";
                return (
                  e > 65535 &&
                    ((t += f((((e -= 65536) >>> 10) & 1023) | 55296)),
                    (e = 56320 | (1023 & e))),
                  (t += f(e))
                );
              }).join("");
            }
            function g(e, t) {
              return e + 22 + 75 * (e < 26) - ((0 != t) << 5);
            }
            function y(e, t, r) {
              var n = 0;
              for (e = r ? d(e / 700) : e >> 1, e += d(e / t); e > 455; n += u)
                e = d(e / 35);
              return d(n + (36 * e) / (e + 38));
            }
            function x(e) {
              var t,
                r,
                n,
                i,
                o,
                s,
                c,
                l,
                h,
                p,
                f,
                m = [],
                _ = e.length,
                b = 0,
                g = 128,
                x = 72;
              for ((r = e.lastIndexOf("-")) < 0 && (r = 0), n = 0; n < r; ++n)
                e.charCodeAt(n) >= 128 && w("not-basic"),
                  m.push(e.charCodeAt(n));
              for (i = r > 0 ? r + 1 : 0; i < _; ) {
                for (
                  o = b, s = 1, c = u;
                  i >= _ && w("invalid-input"),
                    ((l =
                      (f = e.charCodeAt(i++)) - 48 < 10
                        ? f - 22
                        : f - 65 < 26
                        ? f - 65
                        : f - 97 < 26
                        ? f - 97
                        : u) >= u ||
                      l > d((a - b) / s)) &&
                      w("overflow"),
                    (b += l * s),
                    !(l < (h = c <= x ? 1 : c >= x + 26 ? 26 : c - x));
                  c += u
                )
                  s > d(a / (p = u - h)) && w("overflow"), (s *= p);
                (x = y(b - o, (t = m.length + 1), 0 == o)),
                  d(b / t) > a - g && w("overflow"),
                  (g += d(b / t)),
                  (b %= t),
                  m.splice(b++, 0, g);
              }
              return v(m);
            }
            function k(e) {
              var t,
                r,
                n,
                i,
                o,
                s,
                c,
                l,
                h,
                p,
                m,
                _,
                v,
                x,
                k,
                E = [];
              for (
                _ = (e = b(e)).length, t = 128, r = 0, o = 72, s = 0;
                s < _;
                ++s
              )
                (m = e[s]) < 128 && E.push(f(m));
              for (n = i = E.length, i && E.push("-"); n < _; ) {
                for (c = a, s = 0; s < _; ++s)
                  (m = e[s]) >= t && m < c && (c = m);
                for (
                  c - t > d((a - r) / (v = n + 1)) && w("overflow"),
                    r += (c - t) * v,
                    t = c,
                    s = 0;
                  s < _;
                  ++s
                )
                  if (((m = e[s]) < t && ++r > a && w("overflow"), m == t)) {
                    for (
                      l = r, h = u;
                      !(l < (p = h <= o ? 1 : h >= o + 26 ? 26 : h - o));
                      h += u
                    )
                      (k = l - p),
                        (x = u - p),
                        E.push(f(g(p + (k % x), 0))),
                        (l = d(k / x));
                    E.push(f(g(l, 0))), (o = y(r, v, n == i)), (r = 0), ++n;
                  }
                ++r, ++t;
              }
              return E.join("");
            }
            (s = {
              version: "1.3.2",
              ucs2: { decode: b, encode: v },
              decode: x,
              encode: k,
              toASCII: function (e) {
                return _(e, function (e) {
                  return l.test(e) ? "xn--" + k(e) : e;
                });
              },
              toUnicode: function (e) {
                return _(e, function (e) {
                  return c.test(e) ? x(e.slice(4).toLowerCase()) : e;
                });
              },
            }),
              void 0 ===
                (n = function () {
                  return s;
                }.call(t, r, t, e)) || (e.exports = n);
          })();
      },
      575: function (e, t, r) {
        "use strict";
        var n = r(511),
          i = r(502);
        function o() {
          (this.protocol = null),
            (this.slashes = null),
            (this.auth = null),
            (this.host = null),
            (this.port = null),
            (this.hostname = null),
            (this.hash = null),
            (this.search = null),
            (this.query = null),
            (this.pathname = null),
            (this.path = null),
            (this.href = null);
        }
        var s = /^([a-z0-9.+-]+:)/i,
          a = /:[0-9]*$/,
          u = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
          c = ["{", "}", "|", "\\", "^", "`"].concat([
            "<",
            ">",
            '"',
            "`",
            " ",
            "\r",
            "\n",
            "\t",
          ]),
          l = ["'"].concat(c),
          h = ["%", "/", "?", ";", "#"].concat(l),
          p = ["/", "?", "#"],
          d = /^[+a-z0-9A-Z_-]{0,63}$/,
          f = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
          w = { javascript: !0, "javascript:": !0 },
          m = { javascript: !0, "javascript:": !0 },
          _ = {
            http: !0,
            https: !0,
            ftp: !0,
            gopher: !0,
            file: !0,
            "http:": !0,
            "https:": !0,
            "ftp:": !0,
            "gopher:": !0,
            "file:": !0,
          },
          b = r(673);
        function v(e, t, r) {
          if (e && i.isObject(e) && e instanceof o) return e;
          var n = new o();
          return n.parse(e, t, r), n;
        }
        (o.prototype.parse = function (e, t, r) {
          if (!i.isString(e))
            throw new TypeError(
              "Parameter 'url' must be a string, not " + typeof e
            );
          var o = e.indexOf("?"),
            a = -1 !== o && o < e.indexOf("#") ? "?" : "#",
            c = e.split(a);
          c[0] = c[0].replace(/\\/g, "/");
          var v = (e = c.join(a));
          if (((v = v.trim()), !r && 1 === e.split("#").length)) {
            var g = u.exec(v);
            if (g)
              return (
                (this.path = v),
                (this.href = v),
                (this.pathname = g[1]),
                g[2]
                  ? ((this.search = g[2]),
                    (this.query = t
                      ? b.parse(this.search.substr(1))
                      : this.search.substr(1)))
                  : t && ((this.search = ""), (this.query = {})),
                this
              );
          }
          var y = s.exec(v);
          if (y) {
            var x = (y = y[0]).toLowerCase();
            (this.protocol = x), (v = v.substr(y.length));
          }
          if (r || y || v.match(/^\/\/[^@\/]+@[^@\/]+/)) {
            var k = "//" === v.substr(0, 2);
            !k || (y && m[y]) || ((v = v.substr(2)), (this.slashes = !0));
          }
          if (!m[y] && (k || (y && !_[y]))) {
            for (var E, O, R = -1, A = 0; A < p.length; A++) {
              -1 !== (S = v.indexOf(p[A])) && (-1 === R || S < R) && (R = S);
            }
            -1 !==
              (O = -1 === R ? v.lastIndexOf("@") : v.lastIndexOf("@", R)) &&
              ((E = v.slice(0, O)),
              (v = v.slice(O + 1)),
              (this.auth = decodeURIComponent(E))),
              (R = -1);
            for (A = 0; A < h.length; A++) {
              var S;
              -1 !== (S = v.indexOf(h[A])) && (-1 === R || S < R) && (R = S);
            }
            -1 === R && (R = v.length),
              (this.host = v.slice(0, R)),
              (v = v.slice(R)),
              this.parseHost(),
              (this.hostname = this.hostname || "");
            var q =
              "[" === this.hostname[0] &&
              "]" === this.hostname[this.hostname.length - 1];
            if (!q)
              for (
                var P = this.hostname.split(/\./), T = ((A = 0), P.length);
                A < T;
                A++
              ) {
                var j = P[A];
                if (j && !j.match(d)) {
                  for (var N = "", C = 0, D = j.length; C < D; C++)
                    j.charCodeAt(C) > 127 ? (N += "x") : (N += j[C]);
                  if (!N.match(d)) {
                    var I = P.slice(0, A),
                      M = P.slice(A + 1),
                      L = j.match(f);
                    L && (I.push(L[1]), M.unshift(L[2])),
                      M.length && (v = "/" + M.join(".") + v),
                      (this.hostname = I.join("."));
                    break;
                  }
                }
              }
            this.hostname.length > 255
              ? (this.hostname = "")
              : (this.hostname = this.hostname.toLowerCase()),
              q || (this.hostname = n.toASCII(this.hostname));
            var U = this.port ? ":" + this.port : "",
              B = this.hostname || "";
            (this.host = B + U),
              (this.href += this.host),
              q &&
                ((this.hostname = this.hostname.substr(
                  1,
                  this.hostname.length - 2
                )),
                "/" !== v[0] && (v = "/" + v));
          }
          if (!w[x])
            for (A = 0, T = l.length; A < T; A++) {
              var z = l[A];
              if (-1 !== v.indexOf(z)) {
                var W = encodeURIComponent(z);
                W === z && (W = escape(z)), (v = v.split(z).join(W));
              }
            }
          var G = v.indexOf("#");
          -1 !== G && ((this.hash = v.substr(G)), (v = v.slice(0, G)));
          var F = v.indexOf("?");
          if (
            (-1 !== F
              ? ((this.search = v.substr(F)),
                (this.query = v.substr(F + 1)),
                t && (this.query = b.parse(this.query)),
                (v = v.slice(0, F)))
              : t && ((this.search = ""), (this.query = {})),
            v && (this.pathname = v),
            _[x] && this.hostname && !this.pathname && (this.pathname = "/"),
            this.pathname || this.search)
          ) {
            U = this.pathname || "";
            var H = this.search || "";
            this.path = U + H;
          }
          return (this.href = this.format()), this;
        }),
          (o.prototype.format = function () {
            var e = this.auth || "";
            e &&
              ((e = (e = encodeURIComponent(e)).replace(/%3A/i, ":")),
              (e += "@"));
            var t = this.protocol || "",
              r = this.pathname || "",
              n = this.hash || "",
              o = !1,
              s = "";
            this.host
              ? (o = e + this.host)
              : this.hostname &&
                ((o =
                  e +
                  (-1 === this.hostname.indexOf(":")
                    ? this.hostname
                    : "[" + this.hostname + "]")),
                this.port && (o += ":" + this.port)),
              this.query &&
                i.isObject(this.query) &&
                Object.keys(this.query).length &&
                (s = b.stringify(this.query));
            var a = this.search || (s && "?" + s) || "";
            return (
              t && ":" !== t.substr(-1) && (t += ":"),
              this.slashes || ((!t || _[t]) && !1 !== o)
                ? ((o = "//" + (o || "")),
                  r && "/" !== r.charAt(0) && (r = "/" + r))
                : o || (o = ""),
              n && "#" !== n.charAt(0) && (n = "#" + n),
              a && "?" !== a.charAt(0) && (a = "?" + a),
              t +
                o +
                (r = r.replace(/[?#]/g, function (e) {
                  return encodeURIComponent(e);
                })) +
                (a = a.replace("#", "%23")) +
                n
            );
          }),
          (o.prototype.resolve = function (e) {
            return this.resolveObject(v(e, !1, !0)).format();
          }),
          (o.prototype.resolveObject = function (e) {
            if (i.isString(e)) {
              var t = new o();
              t.parse(e, !1, !0), (e = t);
            }
            for (
              var r = new o(), n = Object.keys(this), s = 0;
              s < n.length;
              s++
            ) {
              var a = n[s];
              r[a] = this[a];
            }
            if (((r.hash = e.hash), "" === e.href))
              return (r.href = r.format()), r;
            if (e.slashes && !e.protocol) {
              for (var u = Object.keys(e), c = 0; c < u.length; c++) {
                var l = u[c];
                "protocol" !== l && (r[l] = e[l]);
              }
              return (
                _[r.protocol] &&
                  r.hostname &&
                  !r.pathname &&
                  (r.path = r.pathname = "/"),
                (r.href = r.format()),
                r
              );
            }
            if (e.protocol && e.protocol !== r.protocol) {
              if (!_[e.protocol]) {
                for (var h = Object.keys(e), p = 0; p < h.length; p++) {
                  var d = h[p];
                  r[d] = e[d];
                }
                return (r.href = r.format()), r;
              }
              if (((r.protocol = e.protocol), e.host || m[e.protocol]))
                r.pathname = e.pathname;
              else {
                for (
                  var f = (e.pathname || "").split("/");
                  f.length && !(e.host = f.shift());

                );
                e.host || (e.host = ""),
                  e.hostname || (e.hostname = ""),
                  "" !== f[0] && f.unshift(""),
                  f.length < 2 && f.unshift(""),
                  (r.pathname = f.join("/"));
              }
              if (
                ((r.search = e.search),
                (r.query = e.query),
                (r.host = e.host || ""),
                (r.auth = e.auth),
                (r.hostname = e.hostname || e.host),
                (r.port = e.port),
                r.pathname || r.search)
              ) {
                var w = r.pathname || "",
                  b = r.search || "";
                r.path = w + b;
              }
              return (
                (r.slashes = r.slashes || e.slashes), (r.href = r.format()), r
              );
            }
            var v = r.pathname && "/" === r.pathname.charAt(0),
              g = e.host || (e.pathname && "/" === e.pathname.charAt(0)),
              y = g || v || (r.host && e.pathname),
              x = y,
              k = (r.pathname && r.pathname.split("/")) || [],
              E =
                ((f = (e.pathname && e.pathname.split("/")) || []),
                r.protocol && !_[r.protocol]);
            if (
              (E &&
                ((r.hostname = ""),
                (r.port = null),
                r.host && ("" === k[0] ? (k[0] = r.host) : k.unshift(r.host)),
                (r.host = ""),
                e.protocol &&
                  ((e.hostname = null),
                  (e.port = null),
                  e.host && ("" === f[0] ? (f[0] = e.host) : f.unshift(e.host)),
                  (e.host = null)),
                (y = y && ("" === f[0] || "" === k[0]))),
              g)
            )
              (r.host = e.host || "" === e.host ? e.host : r.host),
                (r.hostname =
                  e.hostname || "" === e.hostname ? e.hostname : r.hostname),
                (r.search = e.search),
                (r.query = e.query),
                (k = f);
            else if (f.length)
              k || (k = []),
                k.pop(),
                (k = k.concat(f)),
                (r.search = e.search),
                (r.query = e.query);
            else if (!i.isNullOrUndefined(e.search)) {
              if (E)
                (r.hostname = r.host = k.shift()),
                  (q =
                    !!(r.host && r.host.indexOf("@") > 0) &&
                    r.host.split("@")) &&
                    ((r.auth = q.shift()), (r.host = r.hostname = q.shift()));
              return (
                (r.search = e.search),
                (r.query = e.query),
                (i.isNull(r.pathname) && i.isNull(r.search)) ||
                  (r.path =
                    (r.pathname ? r.pathname : "") +
                    (r.search ? r.search : "")),
                (r.href = r.format()),
                r
              );
            }
            if (!k.length)
              return (
                (r.pathname = null),
                r.search ? (r.path = "/" + r.search) : (r.path = null),
                (r.href = r.format()),
                r
              );
            for (
              var O = k.slice(-1)[0],
                R =
                  ((r.host || e.host || k.length > 1) &&
                    ("." === O || ".." === O)) ||
                  "" === O,
                A = 0,
                S = k.length;
              S >= 0;
              S--
            )
              "." === (O = k[S])
                ? k.splice(S, 1)
                : ".." === O
                ? (k.splice(S, 1), A++)
                : A && (k.splice(S, 1), A--);
            if (!y && !x) for (; A--; A) k.unshift("..");
            !y ||
              "" === k[0] ||
              (k[0] && "/" === k[0].charAt(0)) ||
              k.unshift(""),
              R && "/" !== k.join("/").substr(-1) && k.push("");
            var q,
              P = "" === k[0] || (k[0] && "/" === k[0].charAt(0));
            E &&
              ((r.hostname = r.host = P ? "" : k.length ? k.shift() : ""),
              (q =
                !!(r.host && r.host.indexOf("@") > 0) && r.host.split("@")) &&
                ((r.auth = q.shift()), (r.host = r.hostname = q.shift())));
            return (
              (y = y || (r.host && k.length)) && !P && k.unshift(""),
              k.length
                ? (r.pathname = k.join("/"))
                : ((r.pathname = null), (r.path = null)),
              (i.isNull(r.pathname) && i.isNull(r.search)) ||
                (r.path =
                  (r.pathname ? r.pathname : "") + (r.search ? r.search : "")),
              (r.auth = e.auth || r.auth),
              (r.slashes = r.slashes || e.slashes),
              (r.href = r.format()),
              r
            );
          }),
          (o.prototype.parseHost = function () {
            var e = this.host,
              t = a.exec(e);
            t &&
              (":" !== (t = t[0]) && (this.port = t.substr(1)),
              (e = e.substr(0, e.length - t.length))),
              e && (this.hostname = e);
          });
      },
      502: function (e) {
        "use strict";
        e.exports = {
          isString: function (e) {
            return "string" == typeof e;
          },
          isObject: function (e) {
            return "object" == typeof e && null !== e;
          },
          isNull: function (e) {
            return null === e;
          },
          isNullOrUndefined: function (e) {
            return null == e;
          },
        };
      },
      331: function (e, t) {
        "use strict";
        var r,
          n,
          i =
            (this && this.__assign) ||
            function () {
              return (i =
                Object.assign ||
                function (e) {
                  for (var t, r = 1, n = arguments.length; r < n; r++)
                    for (var i in (t = arguments[r]))
                      Object.prototype.hasOwnProperty.call(t, i) &&
                        (e[i] = t[i]);
                  return e;
                }).apply(this, arguments);
            };
        Object.defineProperty(t, "__esModule", { value: !0 }),
          (t.Request =
            t.RequestQueue =
            t.RequestStatus =
            t.RequestPriority =
              void 0),
          (function (e) {
            (e[(e.LOW = 0)] = "LOW"),
              (e[(e.MEDIUM = 1)] = "MEDIUM"),
              (e[(e.HIGH = 2)] = "HIGH"),
              (e[(e.HIGHEST = 3)] = "HIGHEST");
          })((r = t.RequestPriority || (t.RequestPriority = {}))),
          (function (e) {
            (e[(e.PENDING = 0)] = "PENDING"),
              (e[(e.SENDING = 1)] = "SENDING"),
              (e[(e.FAILED = 2)] = "FAILED"),
              (e[(e.DONE = 3)] = "DONE");
          })((n = t.RequestStatus || (t.RequestStatus = {})));
        var o = (function () {
          function e(e) {
            var t = void 0 === e ? {} : e,
              r = t.retries,
              n = void 0 === r ? 0 : r,
              i = t.concurrency,
              o = void 0 === i ? 6 : i;
            (this.totalBytesDownloaded = 0),
              (this.queue = []),
              (this.retries = n),
              (this.concurrency = o);
          }
          return (
            (e.prototype.get = function (e, t) {
              return this.request("GET", e, t);
            }),
            (e.prototype.head = function (e, t) {
              return this.request("HEAD", e, t);
            }),
            (e.prototype.options = function (e, t) {
              return this.request("OPTIONS", e, t);
            }),
            (e.prototype.post = function (e, t) {
              return this.request("POST", e, t);
            }),
            (e.prototype.put = function (e, t) {
              return this.request("PUT", e, t);
            }),
            (e.prototype.patch = function (e, t) {
              return this.request("PATCH", e, t);
            }),
            (e.prototype.delete = function (e, t) {
              return this.request("DELETE", e, t);
            }),
            (e.prototype.request = function (e, t, r) {
              var n = new s(e, t, r);
              return this.enqueue(n), n.promise;
            }),
            (e.prototype.update = function () {
              for (var e; (e = this.getNextPendingRequest()); )
                this.sendRequest(e);
              for (; (e = this.getNextOverflowingGet()); )
                e.abort(), (e.status = n.PENDING);
              this.updateTimeout = null;
            }),
            (e.prototype.enqueue = function (e) {
              var t = this,
                r = 0;
              for (r = 0; r < this.queue.length; r++) {
                if (this.queue[r].priority < e.priority) break;
              }
              this.queue.splice(r, 0, e),
                this.updateTimeout ||
                  (this.updateTimeout = window.setTimeout(function () {
                    t.update();
                  }, 1));
            }),
            (e.prototype.dequeue = function (e) {
              var t = this.queue.indexOf(e);
              if (-1 === t)
                throw new Error("Can't dequeue request not in queue");
              this.queue.splice(t, 1), this.update();
            }),
            (e.prototype.getNextPendingRequest = function () {
              for (
                var e = 0;
                e < this.queue.length && e < this.concurrency;
                e++
              ) {
                var t = this.queue[e];
                if (t.status === n.PENDING) return t;
              }
              return null;
            }),
            (e.prototype.getNextOverflowingGet = function () {
              for (var e = this.concurrency; e < this.queue.length; e++) {
                var t = this.queue[e];
                if (
                  t.status === n.SENDING &&
                  t.priority !== r.HIGHEST &&
                  "GET" === t.method
                )
                  return t;
              }
              return null;
            }),
            (e.prototype.shouldRetryStatusCode = function (t) {
              return !e.doNotRetryStatusCodes[t];
            }),
            (e.prototype.sendRequest = function (e) {
              var t = this;
              (e.status = n.SENDING),
                e
                  .send()
                  .then(function (r) {
                    (e.status = n.DONE),
                      t.dequeue(e),
                      e.contentLength &&
                        e.contentLength > 0 &&
                        (t.totalBytesDownloaded += Number(e.contentLength)),
                      e.onDone(r);
                  })
                  .catch(function (r) {
                    var i = null !== e.maxRetries ? e.maxRetries : t.retries,
                      o = e.sendAttempts < i;
                    if ("object" == typeof r) {
                      var s = r.status_code || 0;
                      o = o && t.shouldRetryStatusCode(s);
                    }
                    o
                      ? ((e.status = n.PENDING),
                        t.update(),
                        console.warn("Retried " + e.url),
                        console.warn(r))
                      : ((e.status = n.FAILED),
                        t.dequeue(e),
                        console.warn("Failed " + e.url),
                        e.onFail(r));
                  });
            }),
            (e.doNotRetryStatusCodes = {
              400: !0,
              401: !0,
              403: !0,
              404: !0,
              405: !0,
              406: !0,
              410: !0,
              411: !0,
              414: !0,
              415: !0,
              421: !0,
              431: !0,
              451: !0,
            }),
            e
          );
        })();
        t.RequestQueue = o;
        var s = (function () {
          function e(e, t, i) {
            var o = this;
            void 0 === i && (i = {}),
              (this.sendAttempts = 0),
              (this.status = n.PENDING),
              (this.contentLength = 0),
              (this.url = t),
              (this.method = e),
              (this.auth = i.auth || null),
              (this.withCredentials = i.withCredentials || !1),
              (this.priority = i.priority || r.MEDIUM),
              (this.responseType = i.responseType || null),
              (this.body = i.body || null),
              (this.headers = i.headers || {}),
              (this.maxRetries = i.maxRetries || null),
              (this.onProgress = i.onProgress),
              (this.promise = new Promise(function (e, t) {
                (o.onDone = e), (o.onFail = t);
              }));
          }
          return (
            (e.prototype.send = function () {
              var e = this,
                t = (this.xhr = (function (e, t, r) {
                  var n;
                  if ("undefined" != typeof XMLHttpRequest)
                    (n = new XMLHttpRequest()).withCredentials = r;
                  else {
                    if ("undefined" == typeof XDomainRequest)
                      throw new Error(
                        "No XMLHTTPRequest or XDomainRequest... are you trying to run me in node? :("
                      );
                    n = new XDomainRequest();
                  }
                  return n.open(e, t, !0), n;
                })(this.method, this.url, this.withCredentials));
              if (this.responseType)
                if (
                  "arraybuffer" === this.responseType ||
                  "text" === this.responseType ||
                  "json" === this.responseType ||
                  "blob" === this.responseType
                )
                  t.responseType = this.responseType;
                else {
                  if ("image" !== this.responseType)
                    throw new Error(
                      'reponseType can only be one of "arraybuffer", "text", "json", "blob", "image"'
                    );
                  t.responseType = "blob";
                }
              for (var r in ("json" === this.responseType &&
                t.setRequestHeader("Accept", "application/json"),
              this.auth &&
                "string" == typeof this.auth &&
                t.setRequestHeader("Authorization", this.auth),
              this.headers))
                t.setRequestHeader(r, this.headers[r]);
              return (
                this.body &&
                  "object" == typeof this.body &&
                  (this.body instanceof FormData ||
                    ((this.body = JSON.stringify(this.body)),
                    t.setRequestHeader("Content-Type", "application/json"))),
                this.onProgress && (t.onprogress = this.onProgress),
                new Promise(function (r, n) {
                  (t.onreadystatechange = function (o) {
                    if (4 === t.readyState) {
                      if (
                        200 === t.status ||
                        201 === t.status ||
                        204 === t.status
                      )
                        return e.parseResponse(e.xhr).then(function (e) {
                          r(e);
                        });
                      if (0 !== t.status)
                        return e
                          .parseResponse(e.xhr)
                          .then(function (e) {
                            n(i({ status_code: t.status }, e));
                          })
                          .catch(function () {
                            n({ status_code: t.status });
                          });
                    }
                  }),
                    (t.onerror = function (e) {
                      n(e);
                    }),
                    t.send(e.body),
                    e.sendAttempts++;
                })
              );
            }),
            (e.prototype.parseResponse = function (e) {
              var t = this;
              return new Promise(function (r, n) {
                try {
                  var i = e.response;
                  if (
                    ((t.contentLength = e.getResponseHeader("Content-Length")),
                    "json" === t.responseType && "object" != typeof i)
                  )
                    r(JSON.parse(e.responseText));
                  else if (
                    (200 !== e.status &&
                      201 !== e.status &&
                      204 !== e.status) ||
                    "image" !== t.responseType
                  )
                    r(i);
                  else {
                    var o = URL.createObjectURL(i);
                    ((i = new Image()).src = o),
                      (i.crossOrigin = "Anonymous"),
                      (i.onload = function () {
                        URL.revokeObjectURL(o), r(i);
                      });
                  }
                } catch (e) {
                  n({ error: "Payload was not valid JSON" });
                }
              });
            }),
            (e.prototype.abort = function () {
              if (null === this.xhr)
                throw new Error("Cannot abort unsent Request");
              this.xhr.abort();
            }),
            e
          );
        })();
        t.Request = s;
      },
    },
    __webpack_module_cache__ = {};
  function __webpack_require__(e) {
    var t = __webpack_module_cache__[e];
    if (void 0 !== t) return t.exports;
    var r = (__webpack_module_cache__[e] = { id: e, loaded: !1, exports: {} });
    return (
      __webpack_modules__[e].call(r.exports, r, r.exports, __webpack_require__),
      (r.loaded = !0),
      r.exports
    );
  }
  (__webpack_require__.n = function (e) {
    var t =
      e && e.__esModule
        ? function () {
            return e.default;
          }
        : function () {
            return e;
          };
    return __webpack_require__.d(t, { a: t }), t;
  }),
    (__webpack_require__.d = function (e, t) {
      for (var r in t)
        __webpack_require__.o(t, r) &&
          !__webpack_require__.o(e, r) &&
          Object.defineProperty(e, r, { enumerable: !0, get: t[r] });
    }),
    (__webpack_require__.g = (function () {
      if ("object" == typeof globalThis) return globalThis;
      try {
        return this || new Function("return this")();
      } catch (e) {
        if ("object" == typeof window) return window;
      }
    })()),
    (__webpack_require__.o = function (e, t) {
      return Object.prototype.hasOwnProperty.call(e, t);
    }),
    (__webpack_require__.r = function (e) {
      "undefined" != typeof Symbol &&
        Symbol.toStringTag &&
        Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }),
        Object.defineProperty(e, "__esModule", { value: !0 });
    }),
    (__webpack_require__.nmd = function (e) {
      return (e.paths = []), e.children || (e.children = []), e;
    }),
    (function () {
      var e;
      __webpack_require__.g.importScripts &&
        (e = __webpack_require__.g.location + "");
      var t = __webpack_require__.g.document;
      if (!e && t && (t.currentScript && (e = t.currentScript.src), !e)) {
        var r = t.getElementsByTagName("script");
        r.length && (e = r[r.length - 1].src);
      }
      if (!e)
        throw new Error(
          "Automatic publicPath is not supported in this browser"
        );
      (e = e
        .replace(/#.*$/, "")
        .replace(/\?.*$/, "")
        .replace(/\/[^\/]+$/, "/")),
        (__webpack_require__.p = e + "../");
    })();
  var __webpack_exports__ = {};
  !(function () {
    "use strict";
    __webpack_require__.r(__webpack_exports__),
      __webpack_require__.d(__webpack_exports__, {
        supported: function () {
          return supported;
        },
        displayErrorPage: function () {
          return displayErrorPage;
        },
      });
    var _css_unsupported_browser_less__WEBPACK_IMPORTED_MODULE_0__ =
        __webpack_require__(976),
      _unsupported_browser_html__WEBPACK_IMPORTED_MODULE_4__ =
        __webpack_require__(694),
      _images_unsupported_browser_jpg__WEBPACK_IMPORTED_MODULE_5__ =
        __webpack_require__(260),
      _es6check_jscheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(538),
      _analytics__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(242),
      _mockUnsupported__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(918),
      es6_promise__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(702),
      es6_promise__WEBPACK_IMPORTED_MODULE_1___default = __webpack_require__.n(
        es6_promise__WEBPACK_IMPORTED_MODULE_1__
      ),
      cwf_modules_locale_getCurrentLanguage__WEBPACK_IMPORTED_MODULE_6__ =
        __webpack_require__(606),
      cwf_modules_locale_settings__WEBPACK_IMPORTED_MODULE_8__ =
        __webpack_require__(184);
    function supported() {
      if ((0, _mockUnsupported__WEBPACK_IMPORTED_MODULE_2__.Z)()) return !1;
      try {
        return eval(_es6check_jscheck__WEBPACK_IMPORTED_MODULE_3__), !0;
      } catch (e) {
        return !1;
      }
    }
    function displayErrorPage(e) {
      (0, es6_promise__WEBPACK_IMPORTED_MODULE_1__.polyfill)();
      var t = document.querySelector("#unsupported-browser");
      (t.innerHTML = _unsupported_browser_html__WEBPACK_IMPORTED_MODULE_4__),
        t.setAttribute(
          "style",
          'background-image: url("' +
            _images_unsupported_browser_jpg__WEBPACK_IMPORTED_MODULE_5__ +
            '");'
        ),
        t.removeAttribute("class");
      var r = (0,
      cwf_modules_locale_getCurrentLanguage__WEBPACK_IMPORTED_MODULE_6__.W)();
      if (
        ((0, _analytics__WEBPACK_IMPORTED_MODULE_7__.Z)(e, r),
        r !== cwf_modules_locale_settings__WEBPACK_IMPORTED_MODULE_8__.k$)
      ) {
        var n = r + ".json";
        var i = new XMLHttpRequest();
        i.addEventListener("load", function () {
          var e = JSON.parse(this.responseText);
          e.ERROR_BROWSER_SOLUTION &&
            e.ERROR_BROWSER_EXPLANATION &&
            ((document.querySelector("#unsupported-problem").textContent =
              e.ERROR_BROWSER_EXPLANATION),
            (document.querySelector("#unsupported-solution").textContent =
              e.ERROR_BROWSER_SOLUTION));
        }),
          i.open("GET", "locale/messages/strings_" + n),
          i.send();
      }
    }
  })(),
    (mpBrowserCheck = __webpack_exports__);
})();
